Overview
The hl-gaming-official-ff-data Node.js library provides a streamlined, high-level interface to access HL Gaming Official’s Free Fire “AllData” REST API. It abstracts away HTTP request construction, parameter encoding, and standardized error handling, returning JavaScript objects that exactly mirror the JSON payload from the server. Perfect for building dashboards, bots, analytics tools, or any application that needs full Free Fire player data—level, rank, inventory, guild info, pet details, and more—via a single method call.
Key Benefits:
- One-Call Fetch: Use
getPlayerData
to retrieve the complete account JSON in one promise. - Auto Error Parsing: On any HTTP 4xx/5xx response, returns the exact JSON error body (if available) or a clear branded message when no JSON is returned.
- No Exposed Endpoints: The underlying API URL remains hidden; developers receive branded guidance instead of raw URLs or internal details.
- Native JS Objects: Responses are delivered as plain JavaScript objects, ready to use without additional parsing.
This library is proprietary to HL Gaming Official (hlgamingofficial.com). All rights are exclusively reserved by HL Gaming Official. Redistribution, modification, or reuse of this code in any form is strictly forbidden unless you have obtained explicit written permission from HL Gaming Official’s legal department. Unauthorized use will be considered a serious violation of intellectual property rights.
Misuse or unauthorized distribution of this code is strictly prohibited. If you knowingly distribute or publicly post this library without HL Gaming Official’s consent, you will face immediate termination of all API access privileges and potential legal action. Any developer or organization found in breach of these terms will be held fully accountable for damages.
License Terms: This library may only be used in strict accordance with the official license agreement located at: https://hlgamingofficial.com/p/license.html. By using this library, you agree to abide by all conditions outlined in that document, including but not limited to permitted use cases, duration, and any stated limitations or requirements.
Redistribution or commercial resale of this library without HL Gaming Official’s prior written permission is strictly forbidden. If you intend to integrate this library into a commercial product or distribute it publicly, you must obtain an appropriate license from HL Gaming Official’s licensing team. Failure to do so will result in immediate suspension of services and possible legal proceedings.
Any reverse engineering, decompilation, or unauthorized copying of this code is a direct violation of these terms. Under no circumstances should you attempt to deconstruct the inner workings of the HLFFClient or extract proprietary algorithms contained within this library. Such actions will be met with immediate legal repercussions as set forth in the license agreement.
For full license details and permissible use cases, please visit the License Page at: https://hlgamingofficial.com/p/license.html. This document contains the complete terms, including any regional restrictions, data usage policies, and obligations for attribution. You are responsible for reviewing the latest version of the license before integrating this library into your project.
If you have any questions, need clarification on permitted use, or require a commercial license, please contact us at: developers@hlgamingofficial.com. Our licensing team will respond promptly with guidance on obtaining the appropriate permissions and any associated fees.
WARNING: Using this library beyond the granted permissions will result in immediate suspension of your API access and may lead to legal consequences, including but not limited to claims for damages, injunctive relief, and termination of developer accounts.
Installation
Install the latest release directly from the npm registry using npm
:
npm install hl-gaming-official-ff-data
This command installs version 1.0.1 (or later), along with its dependency, axios
.
To update an existing installation to the newest version, run:
npm install --save hl-gaming-official-ff-data@latest
For production environments, pin the version in your package.json
or package-lock.json
:
"dependencies": { "hl-gaming-official-ff-data": "^1.0.1" }
Authentication
Each API request requires two credentials: API Key (your confidential developer key) and User UID (your HL Gaming Official developer UID). These credentials authenticate you, enable usage tracking, and enforce daily request quotas.
To obtain your apiKey
and userUid
:
- Visit the HL Gaming Official Developer Portal.
- Log in with your developer account.
- Navigate to the “API Credentials” section. Copy your
userUid
(Developer UID) andapiKey
.
Library Method: getPlayerData
The primary function of this library is:
client.getPlayerData(playerUid: string, userUid: string, region?: string) → Promise<object>
getPlayerData
accepts the following arguments:
playerUid
(string, required): The Free Fire Player UID (e.g.,"9351564274"
). If this is missing or an empty string, the method throws anError
.userUid
(string, required): Your HL Gaming Official Developer UID. If omitted or an empty string, anError
is thrown.region
(string, optional): A two-letter region code (e.g.,"pk"
,"sg"
,"in"
). If provided, this overrides the default region passed to the constructor.
On success, the method resolves with a JavaScript object
containing the exact JSON returned by the server. On failure, it rejects with a branded Error
that includes JSON error details (when available) or a fallback message.
View on npm
The hl-gaming-official-ff-data
library is published on the npm registry.
You can visit the official npm page to view the latest release, documentation, and metadata:
https://www.npmjs.com/package/hl-gaming-official-ff-data
On the npm project page, you’ll find:
- Release History: List of all published versions (e.g., 1.0.0, 1.0.1) with dates and changelogs.
- Installation Command: The
npm install
command to install or upgrade the package. - Package Metadata: Description, author, license, keywords, and links to the source repository or issue tracker.
- Download Statistics: Weekly/monthly download counts to gauge adoption.
- Related Links: Quick links to the homepage, GitHub repo, and support portal.
Recommended Actions:
# 1. Install or upgrade directly from npm: npm install --save hl-gaming-official-ff-data@latest # 2. Check available versions programmatically (e.g., in CI/CD): npm view hl-gaming-official-ff-data versions
By monitoring the npm page or using npm view ... versions
, you can keep your application up to date with the latest fixes and features.
If you encounter any issues, the npm page links to the GitHub issue tracker or support portal for bug reports and feature requests.
Parameters & Validation
Parameter | Required | Type | Description |
---|---|---|---|
playerUid | Yes | string | Free Fire Player UID to query, e.g. "9351564274" . If missing or empty, an Error is thrown. |
userUid | Yes | string | Your Developer UID from HL Gaming Official. If missing or empty, an Error is thrown. |
region | No | string | Two-letter region code (e.g. "pk" , "sg" ). Overrides the constructor’s default region. Case-sensitive. |
Error("🚫 Player UID is required. Example: '9351564274'")
Error("🚫 User UID is required. This helps track your API usage.")
Region Name | Code |
---|---|
India | in |
Brazil | br |
Singapore | sg |
Russia | ru |
Indonesia | id |
Taiwan | tw |
United States | us |
Vietnam | vn |
Thailand | th |
Middle East | me |
Pakistan | pk |
Bangladesh | bd |
CIS | cis |
Success Response Schema
On a successful HTTP 200 response, getPlayerData
resolves with the entire JSON payload as a JavaScript object
. Below is an illustrative example of the full structure:
View Full JSON Schema (expand to see all fields)
{ "endpoint": "AllData", "result": { "AccountInfo": { "AccountAvatarId": 902000154, "AccountBPBadges": 1, "AccountBPID": 1001000085, "AccountBannerId": 901049014, "AccountCreateTime": "1512595169", "AccountEXP": 2088986, "AccountLastLogin": "1748797387", "AccountLevel": 67, "AccountLikes": 3417960, "AccountName": "FB:\u3164@GMRemyX", "AccountRegion": "SG", "AccountSeasonId": 45, "AccountType": 1, "BrMaxRank": 321, "BrRankPoint": 3646, "CsMaxRank": 317, "CsRankPoint": 68, "ReleaseVersion": "OB49", "ShowBrRank": true, "ShowCsRank": true, "Title": 904090023 }, "AccountProfileInfo": { "EquippedOutfit": [ 203000543, 204000103, 211037076, 211000028, 214039011, 205000455 ], "EquippedSkills": [ 16, 706, 8, 1, 16, 3806, 8, 2, 16, 2506, 8, 3, 16, 1706 ] }, "GuildInfo": { "GuildCapacity": 55, "GuildID": "60893361", "GuildLevel": 7, "GuildMember": 46, "GuildName": "M\u1d1c\u1d0d\u1d0d\u028fE\u1d20\u1d00T\u1d07\u1d00\u1d0d", "GuildOwner": "12345678" }, "captainBasicInfo": { "EquippedWeapon": [ 907104822, 912048002, 914048001 ], "accountId": "12345678", "accountType": 1, "badgeCnt": 1, "badgeId": 1001000085, "bannerId": 901049014, "createAt": "1512595169", "csMaxRank": 317, "csRank": 317, "csRankingPoints": 68, "exp": 2088986, "headPic": 902000154, "lastLoginAt": "1748797387", "level": 67, "liked": 3417960, "maxRank": 321, "nickname": "FB:\u3164@GMRemyX", "rank": 321, "rankingPoints": 3646, "region": "SG", "releaseVersion": "OB49", "seasonId": 45, "showBrRank": true, "showCsRank": true, "title": 904090023 }, "creditScoreInfo": { "creditScore": 100, "periodicSummaryEndTime": "1748657008", "rewardState": "REWARD_STATE_UNCLAIMED" }, "newUpdate": { "diamondCostRes": { "diamondCost": 390 } }, "petInfo": { "exp": 6000, "id": 1300000071, "isSelected": true, "level": 7, "name": "SiNo", "selectedSkillId": 1315000009, "skinId": 1310000071 }, "socialinfo": { "AccountID": "12345678", "AccountLanguage": "Language_EN", "AccountSignature": "FB & YT GM Remy | TikTok :gmremyx | IG GM Remy", "ModePreference": "ModePrefer_BR", "RankDisplay": "RankShow_CS" } }, "source": "HL Gaming Official", "usage": { "dailyLimit": 999, "remainingToday": 986, "usedToday": 13 } }
In JavaScript, access nested fields directly once you receive the resolved data. For example:
Example: Access Nested Fields
// Accessing fields in the returned object const playerInfo = data.result.AccountInfo; const playerName = playerInfo.AccountName; const playerLevel = playerInfo.AccountLevel; const guildName = data.result.GuildInfo.GuildName; const petName = data.result.petInfo.name; const dailyLeft = data.usage.remainingToday; console.log("Player:", playerName, "| Level:", playerLevel); // etc.
Error Response
Whenever the HL Gaming Official API responds with an HTTP status code 4xx or 5xx, getPlayerData
rejects with a single Error
containing a standardized, branded message.
If the server returned a JSON-formatted error body, that JSON appears verbatim immediately after “❗ Error Details from API:”, so you can see exactly what the service returned.
View Standardized Error Message (with JSON details if provided)
API error: 📡 HL Gaming API returned an error (4xx/5xx). ❗ Error Details from API: { ...exact JSON returned by HL Gaming Official... } 🔁 Please check your API key, Player UID, and Region. 📚 Docs: https://www.hlgamingofficial.com/p/api.html 🆘 Help: https://www.hlgamingofficial.com/p/contact-us.html
If the response body is not valid JSON or is empty, you will see:
View Fallback Message if No JSON Body
API error: ❗ HL API returned an error, and no JSON body was found. 🔁 Please check your API key, Player UID, and Region. 📚 Docs: https://www.hlgamingofficial.com/p/api.html 🆘 Help: https://www.hlgamingofficial.com/p/contact-us.html
For network failures (timeouts, DNS issues, etc.), getPlayerData
rejects with:
View Network Failure Message
API error: ⚠️ Network issue occurred while connecting to HL Gaming API. 📶 Please check your internet connection. 📚 API Info: https://www.hlgamingofficial.com/p/api.html
For any other unexpected exception inside the client code:
View Unexpected Exception Message
API error: ❗ An unexpected error occurred in HL Gaming Official API client. 💡 Details: <original JavaScript error message> 🆘 Support: https://www.hlgamingofficial.com/p/contact-us.html
Best Practices
- Client-Side Caching: Cache valid player data for 5–10 minutes to reduce redundant API calls and improve performance under load.
- Pre-Validation Checks: Ensure
playerUid
is numeric (or matches expected format) andregion
is one of the known codes before making a request. - Graceful Quota Handling: Monitor
data.usage.remainingToday
in successful responses. Warn users when they’re close to their daily limit. - Retry Logic: On transient 5xx or 502 errors, implement exponential back-off and retry a few times before failing permanently.
Security Recommendations
- Always use HTTPS: Encrypt your API Key and User UID in transit.
- Protect Credentials: Do not hardcode
apiKey
oruserUid
in client-side code—use environment variables or a secure vault. - Rotate API Keys: Change your API Key every 90 days and revoke compromised keys immediately.
- Network Restriction: Restrict outbound traffic from servers to only HL Gaming Official’s API domain.
Logging & Analytics
For auditing and monitoring, log each request’s parameters (excluding apiKey
), timestamp, and HTTP status code.
Capture the usage
object from successful responses to track daily usage trends. Forward logs to APM tools (e.g., Datadog, New Relic) to measure latency, error rates, and application behavior over time.
FAQ
Q: What if I pass the wrong region
value?
A: The API returns a 4xx error JSON, typically indicating “Player not found.” You will see that JSON under “Error Details from API.” Use the correct region code for the player’s server.
Q: How can I tell if I’ve exhausted my daily quota?
A: Each successful response includes a usage
object containing remainingToday
. When it reaches 0, further calls produce a JSON error indicating "quota exceeded." Handle it by caching or alerting users.
Q: Why doesn’t the library expose the actual API URL?
A: To protect backend stability and prevent unauthorized scraping, the library hides internal endpoint details. You’re given branded guidance rather than raw URLs.
Changelog
- v1.0.1 — Added npm publication, improved error handling, updated README with examples and success schema.
- v1.0.0 — Initial release: Node.js client for HL Gaming Official Free Fire API with
getPlayerData
method and branded error messages.
Support & Contact
For interactive documentation, live testing, or developer assistance, visit the official support portal: HL Gaming Official Support. To report bugs, request features, or ask questions, email developers@hlgamingofficial.com or submit an issue through the support site.
Contact: Developers | Support