Geelab Docs

Region Selection

How to choose the appropriate service region

What is a Region?

Geelab has deployed verification services in multiple regions globally. You can choose the nearest service node based on your users' location to achieve optimal performance and compliance.

Available Regions

🌏

Global

For global users or Asia-Pacific region

cap-global.geelabapi.com
🇪🇺

Europe

For EU users (GDPR compliant)

cap-eu.geelabapi.com
🇺🇸

North America

For North American users

cap-na.geelabapi.com

How to Choose a Region?

Choose Based on User Location

Select the region closest to your primary user base:

Primary User LocationRecommended RegionReason
China, Southeast Asia, Japan, KoreaGlobalLowest latency
EU countriesEuropeGDPR compliance + low latency
USA, CanadaNorth AmericaLow latency
Globally distributedGlobalWidest coverage

Choose Based on Compliance Requirements

GDPR Compliance: If your users include EU residents, it is recommended to choose the Europe region to ensure data is stored within the EU.

Data Localization: Data in different regions is stored in corresponding regional data centers and will not be transferred across borders.

Selecting Region in Console

  1. Log in to Geelab Console
  2. Create a new verification scenario
  3. Select the appropriate region from the "Region Selection" dropdown menu
  4. Save and obtain captcha_id and captcha_key

Important: Once a region is selected, it cannot be changed. If you need to change regions, you must create a new verification scenario.

Using in Code

Frontend SDK

The frontend SDK needs to configure the apiServers parameter to specify the region:

// Configure the corresponding apiServers based on the region you selected in the console
initGeetest4({
  captchaId: 'YOUR_CAPTCHA_ID',
  apiServers: ['cap-global.geelabapi.com']  // Global region
  // apiServers: ['cap-eu.geelabapi.com']  // Europe region
  // apiServers: ['cap-na.geelabapi.com']  // North America region
}, callback);

Important: The apiServers parameter must match the region you selected when creating the ID in the console.

Backend Verification

When verifying on the backend, you must use the regional domain corresponding to the captcha_id:

// ❌ Wrong: Using the wrong region
// captcha_id is Europe region, but using Global domain
const url = 'https://cap-global.geelabapi.com/validate';

// ✅ Correct: Using the corresponding regional domain
const url = 'https://cap-eu.geelabapi.com/validate';

Complete Example

Best Practice: Manage region configuration as environment variables

config.js
// Configure based on the region you selected in the console
const REGION_URLS = {
  global: 'https://cap-global.geelabapi.com/validate',
  eu: 'https://cap-eu.geelabapi.com/validate',
  na: 'https://cap-na.geelabapi.com/validate'
};

// Read from environment variables
const REGION = process.env.GEELAB_REGION || 'global';
const VERIFY_URL = REGION_URLS[REGION];

module.exports = { VERIFY_URL };
server.js
const { VERIFY_URL } = require('./config');

// Use the configured region URL
const response = await axios.post(
  `${VERIFY_URL}?captcha_id=${CAPTCHA_ID}`,
  data
);

Region Comparison

FeatureGlobalEuropeNorth America
CoverageGlobalEUNorth America
GDPR Compliance
Asia-Pacific Latency🟢 Low🟡 Medium🔴 High
Europe Latency🟡 Medium🟢 Low🟡 Medium
North America Latency🟡 Medium🟡 Medium🟢 Low

FAQ

How do I know which region my captcha_id is in?

You can view the region information on the verification scenario details page in the console.

Can I use multiple regions simultaneously?

Yes. Create verification scenarios for different regions for users in different areas, and dynamically select the corresponding captcha_id based on user location in your code.

// Select different captcha_id based on user location
const captchaId = userInEU
  ? 'EU_CAPTCHA_ID'
  : 'GLOBAL_CAPTCHA_ID';

initGeetest4({ captchaId }, callback);

What happens if frontend and backend regions don't match?

Verification will fail. The captchaId and apiServers used on the frontend, as well as the domain used for backend verification, must all belong to the same region.

// ❌ Wrong example
// Frontend uses Europe region captcha_id and apiServers
initGeetest4({
  captchaId: 'EU_CAPTCHA_ID',
  apiServers: ['cap-eu.geelabapi.com']
}, callback);

// Backend uses Global region verification URL
POST https://cap-global.geelabapi.com/validate  // Verification will fail!

// ✅ Correct example
// Frontend uses Europe region captcha_id and apiServers
initGeetest4({
  captchaId: 'EU_CAPTCHA_ID',
  apiServers: ['cap-eu.geelabapi.com']
}, callback);

// Backend also uses Europe region verification URL
POST https://cap-eu.geelabapi.com/validate  // Verification succeeds

Will changing regions affect existing users?

Yes. Changing regions requires:

  1. Creating a new verification scenario for the new region
  2. Updating captcha_id and apiServers in frontend code
  3. Updating verification URL in backend code
  4. Redeploying the application

It is recommended to switch regions during off-peak hours and implement gradual rollout.

Next Steps