Glasnost [1844049] API Keys Guide Join Discord

About FFScouter

FFScouter is a free tool. It is a tool designed to help estimate the difficulty and battle stats of your opponents. Using this tool will not expose any information about yourself to other players, nor will you be able to view information about others except battle stat estimates. Your actual battle stats, and those of others, will remain private and are not stored in the raw form (see bss_private definition below). Any stat estimates made are available for any person or group to access and use, free of charge, for any purpose.

FFScouter is not affiliated with Torn, it is an independent community tool.

227,504
Total Stat Estimates

3,069
Active FFScouter Users

FFScouter is developed by Glasnost [1844049]. Please join our Discord server for support and updates.

Get Started

Please use a Custom key for FFScouter. TornPDA users are recommended to use their TornPDA key due to known issues with TornPDA's script handling.

Terms and Conditions

After you have signed up, please allow up to 5 minutes for your tool of choice to display stat estimates.

Data Policy

Details of our data policy can be found below.

Category Details
Data Storage
Will the data be stored for any purpose?
  • Player ID: Persistent - forever
  • Battlestats: Temporary - less than a minute
  • Private Battle Stat Score (bss_private): Persistent - until account deletion
  • Hall of Fame: Temporary - less than a minute
  • Attacks: Temporary - less than a minute
  • API Key: Persistent - until account deletion
  • Public Battle Stat Score (bss_public) [Other People]: Persistent - forever
Data Sharing
Who can access the data besides the end user?
  • Player ID: General public
  • Battlestats: Nobody (requested, never stored)
  • Private Battle Stat Score (bss_private): Service owners (only for debugging/bug fixing purposes)
  • Hall of Fame: Nobody (requested, never stored)
  • Attacks: Nobody (requested, never stored)
  • API Key: Service owners (only for debugging/bug fixing purposes)
  • Public Battle Stat Score (bss_public) [Other People]: General public
Purpose of Use
What is the stored data being used for?
  • Player ID: Analysis, Public community tools
  • Battlestats: Analysis (requested, not stored)
  • Private Battle Stat Score (bss_private): Analysis
  • Hall of Fame: Analysis (requested, not stored)
  • Attacks: Analysis (requested, not stored)
  • API Key: Analysis
  • Public Battle Stat Score (bss_public) [Other People]: Analysis, Public community tools, Competetive advantage
Key Storage & Sharing
Will the API key be stored securely and who can access it?
  • Stored / Used only for automation
Key Access Level
What key access level or specific selections are required?
Regardless of the key access level from this list, the same data/functionality is provided:
  • Custom (selections: basic, battlestats, hof, attacks)
  • Limited (works, but not recommended)
  • Full (works, but not recommended)

Torn API selections requested: basic, battlestats, attacks, hof

Data Stored: player_id, bss_private (*), bss_private_timestamp (*), bss_public (**), bss_public_timestamp (**), API key, created_at, last_updated

Basis for request selections:

  • basic: Contains your player_id so we can attribute the data correctly
  • battlestats: This is used to calculate your bss_private, but the raw stat data is not stored once this is calculated
  • attacks: Retrieves your opponents and the Fair Fight score so we can calculate their bss_public
  • hof: Identifies players who are in the top 1,000 HoF for battle stats (FF entries excluded)



Attack history is used with your bss_private (a score only you can see and is stored on FFScouter) to estimate opponents' bss_public (a score everyone can see). We never store who updated a public score, except temporarily to help diagnose any errors we encounter and will share it with Torn Admins. This will be deleted when it is no longer required, but no later than 30 days after it was saved in any case.

Your attack logs are not saved to the database at any point; they are deleted once analysed (usually within 1–2 seconds of a request being made using your key, exceptionally up to 10 seconds). Attack logs are never saved to the database, shared, or sold.

(*) Your bss_private is calculated from your battle stats using the formula found on the Torn Wiki (Fair fights). It is stored by FFScouter to provide you with an accurate estimated "Fair Fight" score of your opponent. It is never visible to other users, sold, shared or used except to enable you to use the service. The bss_private_timestamp is used to schedule updates to your bss_private score by storing the last time it was updated.

(**) Your bss_private is then used, alongside the Fair Fight score from each attack requested, to estimate the bss_public of your opponents where they are known (i.e. not stealthed). This bss_public is stored against their profile, but with the exception of fixing bugs (noted above), we do not store that your score provided this estimate. A bss_public also has a "bss_public_timestamp" associated with it, so we know when it was last updated to prevent old estimates replacing newer ones.

Your own bss_public is not updated by registering for this service. You will likely have a bss_public even if you never sign up to FFScouter, as this data is generated by the estimates of other users. You may view your own stat estimates when using FFScouter by requesting it for your own ID.

Remove Your Data

Warning: This action is irreversible. Once you remove your API key and private information, you will be unable to use FFScouter until you sign up again with a new API key.

Your public stat estimates (if any) and your player_id will remain in the database as they are generated by other users, all other data will be removed immediately.

Using this form will remove all of your API keys and private information from the database. If you wish to remove an individual API key, do this by disabling it in the Torn API Settings page.

API Usage

Get Player Stats Endpoint

Endpoint

GET /api/v1/get-stats

Required Parameters

Parameter Type Description Example
key string Your API key (16 alphanumeric characters) abc123def456ghi
targets string Comma-separated list of player IDs to fetch 2675763,1426381

Rate Limiting

20 requests per minute per IP address

Example Request

curl -X GET "https://ffscouter.com/api/v1/get-stats?key=abc123def456ghi&targets=2675763,1426381"

Example Response

[
  {
    "player_id": 2675763,
    "fair_fight": 5.39,
    "bs_estimate": 2989885521,
    "bs_estimate_human": "2.99b",
    "last_updated": 1747333361
  },
  {
    "player_id": 1426381,
    "fair_fight": null,
    "bs_estimate": null,
    "bs_estimate_human": null,
    "last_updated": null
  }
]

Error Responses

Missing API Key
{
  "code": 1,
  "error": "API key is required"
}
Invalid API Key Format
{
  "code": 2,
  "error": "Invalid API key format. Key must be 16 alphanumeric characters"
}
Missing Targets
{
  "code": 3,
  "error": "The targets parameter is required"
}
Invalid Number of Targets
{
  "code": 4,
  "error": "At least one target ID is required and no more than 205"
}
Invalid Target IDs
{
  "code": 5,
  "error": "All target IDs must be positive integers"
}
Invalid API Key
{
  "code": 6,
  "error": "Invalid API key. Please sign up at ffscouter.com to use this service"
}

Error Codes Reference

Code Description HTTP Status
1 API key is required 400
2 Invalid API key format. Key must be 16 alphanumeric characters 400
3 The targets parameter is required 400
4 At least one target ID is required and no more than 205 400
5 All target IDs must be positive integers 400
6 Invalid API key. Please sign up at ffscouter.com to use this service 401

Notes

  • All player IDs must be valid Torn player IDs
  • The API key must be active and have the necessary permissions
  • Some data may be cached for up to 5 minutes to improve performance
  • Up to 205 player IDs can be requested per request