Overview
The Free Fire Account UID Validation API is designed to provide your application with a rock-solid, real-time mechanism for verifying the existence and basic metadata of any Free Fire player across Garena’s global server network. Whether you are building tournament registration forms, community leaderboards, reward distribution systems, or any workflow where you need to ensure that a user-submitted identifier corresponds to a legitimate in-game account, this API delivers the necessary checks in a matter of milliseconds. Under the hood, every call goes through a highly optimized, caching-enabled proxy that minimizes calls to the upstream Garena endpoints, ensuring low latency and high reliability even under sustained load.
Highlights:
- Instant Verification: Returns a boolean
valid
flag along with friendly messages for both success and failure cases. - Detailed Profile Data: When a UID is valid, additional fields such as
AccountName
,AccountRegion
, andAccountLevel
are provided to give immediate context to the validated user. - Universal Integration: Offers both
GET
andPOST
interfaces so you can implement your checks in URL-driven scripts, server-side functions, or complex multi-step workflows. - Scalable Infrastructure: Hosted on Vercel with global edge caching plus Secure authentication and daily quota enforcement—ideal for projects of any size or region.
// Quick JavaScript example using fetch: fetch( "https://hl-gaming-official-main-v4-api.vercel.app/api" + "?sectionName=freefireValidation" + "&useruid=YOUR_DEV_UID" + "&api=YOUR_API_KEY" + "&uid=12345678" + "®ion=SG" ) .then(response => response.json()) .then(data => console.log("Validation Result:", data)) .catch(err => console.error("Error calling API:", err));
Authentication
To securely access the Free Fire UID Validation API, you must supply two credentials with each request:
useruid (your HL Gaming Official developer UID) and api (your secret API key).
These credentials tie each call back to your developer account, enabling per-UID rate limits, detailed logging, and usage analytics.
The API rejects any requests missing or mis-matching these values with a standard 403 Unauthorized
error.
api
key like a password. Do not embed it in client-side code or leave it in publicly accessible scripts.
// Example of including credentials in a GET request: ?useruid=dev123UID&api=abcDEFkey123 // Example of including credentials in a POST request: { "sectionName": "freefireValidation", "useruid": "dev123UID", "api": "abcDEFkey123", "uid": "12345678", "region": "SG" }
Obtaining Your Credentials
Before you can call the Free Fire UID Validation API, you need two pieces of information:
- Developer UID — a unique identifier tied to your HL Gaming Official account.
- API Key — a secret key used to authenticate your requests.
You can retrieve both your useruid
and your api
key by logging into the HL Gaming Official developer portal:
Visit: https://www.hlgamingofficial.com/p/api.html
After signing in, navigate to the “API Credentials” section. There you will see:
- Developer UID: copy this string into your
useruid
parameter. - API Key: copy this into your
api
parameter.
Rate Limits & Plans
Each developer account is assigned a daily quota of validation checks, which resets exactly 24 hours after your first successful call of the previous cycle.
Monitoring your usage.remainingToday
field on each response helps you gracefully handle near-quota or quota-exceeded conditions.
If you require higher throughput—such as for large-scale tournaments or analytics workflows—consider upgrading your plan to remove or extend these quotas.
Plan | Validations / 24h | Price (USD/mo) |
---|---|---|
Free | 25 | $0 |
Starter | 1,000 | $19 |
Pro | 5,000 | $49 |
Enterprise | Unlimited | Contact Sales |
Developer Tip: Implement local caching (for example, store valid uid
+region
pairs for 5–10 minutes) to reduce repetitive calls and improve end-user experience under high concurrency.
Endpoint URL
https://hl-gaming-official-main-v4-api.vercel.app/api ?sectionName=freefireValidation &useruid={YOUR_DEV_UID} &api={YOUR_API_KEY} &uid={FREEFIRE_UID} ®ion={REGION_CODE}
Both GET
(URL parameters) and POST
(JSON body) methods are supported, allowing you to choose the integration style best suited to your architecture.
Region Code | Region Name |
---|---|
IND | India |
EU | Europe |
NP | Nepal |
BD | Bangladesh |
SG | Singapore (SEA) |
ME | Middle East (MENA) |
TH | Thailand |
VN | Vietnam |
ID | Indonesia |
TW | Taiwan |
RU | Russia |
PK | Pakistan |
US | North America |
Parameters
Parameter | Required | Type | Description |
---|---|---|---|
sectionName | Yes | string | Must be exactly freefireValidation to invoke this endpoint. |
useruid | Yes | string | Your unique developer identifier issued by HL Gaming Official. |
api | Yes | string | Your confidential API key for authentication. |
uid | Yes | string | The Free Fire account UID you wish to validate. |
region | Yes | string | Two-letter region code (e.g., SG , US , PK ); case-sensitive. |
400 Bad Request
response.
Request Examples
GET Example
curl "https://hl-gaming-official-main-v4-api.vercel.app/api? sectionName=freefireValidation &useruid=dev123UID &api=abcDEFkey123 &uid=12345678 ®ion=SG"
POST Example
curl -X POST https://hl-gaming-official-main-v4-api.vercel.app/api \ -H "Content-Type: application/json" \ -d '{ "sectionName":"freefireValidation", "useruid":"dev123UID", "api":"abcDEFkey123", "uid":"12345678", "region":"SG" }'
Response Schema
{ "source": "FreeFire Validation", "result": { "uid": string, // The queried UID "region": string, // The region code "valid": boolean, // True if the UID exists; false otherwise "message": string, // A friendly, human-readable summary "details"?: string, // Additional context when valid==true "AccountName"?: string, // Returned only when valid==true "AccountRegion"?: string, // Returned only when valid==true "AccountLevel"?: number // Returned only when valid==true }, "usage": { "usedToday": number, // How many calls you've made this cycle "dailyLimit": number, // Your plan's maximum "remainingToday": number // Calls left in this cycle } }
The top‐level source
field always reads "FreeFire Validation"
to identify the service.
The result
object contains the core validation data; if valid
is true
, you will also see the user’s display name, region, and level.
Finally, the usage
object enables you to monitor and manage your daily quota programmatically.
Example Responses
Valid UID
{ "source":"FreeFire Validation", "result":{ "uid":"12345678", "region":"SG", "valid":true, "message":"UID is valid.", "details":"User 'FB:ㅤ@GMRemyX' exists in region 'SG' and is at level 67.", "AccountName":"FB:ㅤ@GMRemyX", "AccountRegion":"SG", "AccountLevel":67 }, "usage":{ "usedToday":2, "dailyLimit":999, "remainingToday":997 } }
Invalid UID
{ "source":"FreeFire Validation", "result":{ "uid":"123745678", "region":"SG", "valid":false, "message":"The UID you entered is not valid." }, "usage":{ "usedToday":5, "dailyLimit":999, "remainingToday":994 } }
Error Responses
400 Bad Request
{ "error": "Missing required parameters." }
Returned when any of sectionName
, useruid
, api
, uid
, or region
is absent, empty, or malformed.
403 Forbidden
{ "error": "Unauthorized." }
Indicates that your useruid
or api
key did not match our records. Verify your credentials in the HL Gaming Official dashboard.
404 Not Found
{ "error": "User not found." }
Returned if Our Database record for your useruid
does not exist. Check that you are using the correct developer UID.
429 Too Many Requests
{ "error": "Quota exceeded." }
Indicates you have consumed your daily quota. All further calls will be blocked until your 24-hour window resets.
502 Bad Gateway
{ "error": "FreeFire Validation unavailable." }
Upstream Garena service is unreachable or returned an unexpected status. Please retry after a brief delay.
500 Internal Server Error
{ "error": "Internal server error." }
A general server-side failure occurred. No action is required on your part—retry in a few moments.
Best Practices
- Client-Side Caching: Cache positive validation results for 5–10 minutes to avoid redundant calls and reduce latency.
- Pre-Validation Checks: Verify that
uid
is numeric (or matches your expected format) andregion
is a known code before sending to the API. - Graceful Error Handling: Implement fallback UIs or retry logic for
502
and500
errors, and quota-aware flows for429
errors.
Security Recommendations
- Always use
HTTPS
to encrypt your credentials in transit. - Store
useruid
andapi
securely on your server—never expose them in front-end code. - Rotate your API key every 90 days and immediately revoke any compromised key to minimize risk.
- Restrict outbound network calls from your servers to only the required API domains.
Logging & Analytics
All requests and responses—including timestamps, parameters, and status codes—are logged via Our Database for audit trails. Integrate these logs with your APM or analytics platforms (e.g., Datadog, New Relic) to monitor end-to-end latency, error rates, and usage patterns over time.
FAQ
Q: What if a UID is valid but region is wrong?
A: The API will return valid:false
. Always use the exact region code where the account is registered.
Q: How quickly does the quota reset?
A: Exactly 24 hours after your first successful call of the prior cycle. Check usage.remainingToday
for real-time quota info.
Changelog
- v4.0.0 — Official launch of Free Fire UID Validation API with real-time existence checks and profile metadata.
Support & Tester
For live API testing, interactive documentation, and dedicated developer support, please visit: HL Gaming Official Support Portal.
Free Fire UID Validation – API Tester
Verify any Free Fire account by entering your HL GAMING credentials and the target UID & region.
Waiting for input...
Contact: Developers | Support