Skip to main content
This guide walks you through making your first requests to the Astra API. You will set the required User-Agent header, retrieve the current game version, and list all agents — giving you the foundation to explore any other endpoint in the API.
1

Set your User-Agent

Every request to Astra must include a User-Agent header. Requests without it — or with an empty value — will receive a 403 Forbidden response.The header must follow this format:
{AppName}/{Version} (+{URL})
  • AppName — alphanumeric characters and hyphens only, case-insensitive (e.g. my-app, ValorantTracker)
  • Version — semver recommended (e.g. 1.0, 1.2.3)
  • URL — optional info page for your application
Example header value:
my-app/1.0.0 (+https://example.com)
To pass this header with curl, use the -H flag:
curl -H "User-Agent: my-app/1.0.0 (+https://example.com)" \
  https://astra.teamfortuna.xyz/v1/version
2

Fetch the game version

The /v1/version endpoint returns metadata about the current Valorant build. It is a good first call to verify your setup is working.
curl -H "User-Agent: my-app/1.0.0 (+https://example.com)" \
  https://astra.teamfortuna.xyz/v1/version
Example response:
{
  "status": 200,
  "data": {
    "manifestId": "...",
    "branch": "release-X.XX",
    "version": "XX.XX.XX.XXXXX",
    "buildVersion": "XX",
    "engineVersion": "4.XX.X-...",
    "riotClientVersion": "release-XX.XX.XX.XXXX",
    "riotClientBuild": "XXXX...",
    "buildDate": "20XX-XX-XX"
  }
}
A status of 200 in the response body confirms the request succeeded. All Astra responses wrap their payload in a data field alongside this status code.
3

List all agents

The /v1/agents endpoint returns an array of all playable agents. You can pass a language query parameter to receive display text in your preferred locale.
curl -H "User-Agent: my-app/1.0.0 (+https://example.com)" \
  "https://astra.teamfortuna.xyz/v1/agents?language=en-US"
Example response:
{
  "status": 200,
  "data": [
    {
      "uuid": "e370fa57-4757-3604-3648-499e1f642d3f",
      "displayName": "Gekko",
      "description": "Gekko the Angeleno leads a tight-knit crew of calamitous creatures...",
      "role": {
        "uuid": "1b47567f-8f7b-444b-aae3-b0c634622d10",
        "displayName": "Initiator",
        "description": "Initiators challenge angles by setting up their team to push forward."
      }
    }
  ]
}
Each agent object in the data array includes a uuid, displayName, description, and a nested role object. The full response also includes ability details, portrait image URLs, and more.
4

Fetch a single resource by UUID

Once you have a UUID from a list endpoint, you can fetch that specific resource directly. Append the UUID to the endpoint path:
curl -H "User-Agent: my-app/1.0.0 (+https://example.com)" \
  https://astra.teamfortuna.xyz/v1/agents/e370fa57-4757-3604-3648-499e1f642d3f
This pattern applies across the API — list endpoints return arrays with UUIDs, and individual endpoints accept a UUID in the path to return a single item. Use this to avoid fetching entire collections when you only need one record.
Pass ?language=all to receive localized display text for all supported languages at once. This is useful when you want to store or serve data in multiple locales without making separate requests per language.

Next steps

User-Agent header

Learn more about the User-Agent format rules and how to handle 403 responses.

Localization

Understand how to use the language parameter and work with the all locale.

Agents reference

Explore every field returned by the agents endpoints.