Valorant Game Content Scraper avatar

Valorant Game Content Scraper

Pricing

from $6.16 / 1,000 item extracteds

Go to Apify Store
Valorant Game Content Scraper

Valorant Game Content Scraper

Export current VALORANT agents, maps, weapons, skins, cosmetics, competitive tiers, and version records for wikis, apps, esports, and analytics.

Pricing

from $6.16 / 1,000 item extracteds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Export current structured VALORANT game content from the public VALORANT-API.com catalogs.

Choose agents, maps, weapons, weapon skins, buddies, sprays, player cards, player titles, competitive tiers, and content-version records. The Actor returns normalized identifiers and names plus each complete entity-specific source object, ready for wikis, esports tools, companion apps, spreadsheets, and analytics pipelines.

No Riot account, API key, browser, or proxy is required.

What does this VALORANT game content scraper do?

The Actor reads the selected public JSON catalogs and saves one dataset item for each accepted record.

It can:

  • export one or several content families in a single run;
  • localize names and descriptions using 18 supported locales;
  • return playable agents only;
  • search across names, descriptions, IDs, types, and source fields;
  • flatten competitive tier collections into practical per-tier records;
  • cap output with a predictable global maxItems limit;
  • preserve the complete source object under data;
  • fail explicitly if an upstream response is invalid instead of returning a misleading empty success.

The source is the community-operated VALORANT-API.com, not a private Riot Games API.

Who is this Actor for?

Wiki maintainers

Refresh infoboxes, asset indexes, agent abilities, weapon statistics, map metadata, and cosmetic catalogs without copying records by hand.

Esports and analytics teams

Keep internal reference tables synchronized so match, loadout, patch, and roster datasets can resolve stable game-content IDs.

Companion-app developers

Bootstrap or refresh agent, map, weapon, rank, title, card, spray, and cosmetic lookups for user interfaces.

Data engineers

Schedule recurring Apify runs, export the dataset as JSON or CSV, and compare snapshots in a warehouse or version-control pipeline.

Researchers and creators

Create a bounded spreadsheet of a particular content family or search for content associated with a weapon, agent, theme, or map.

Why use it?

  • Broad catalog coverage: ten normalized entity types behind one input contract.
  • Structured source: direct JSON requests avoid browser rendering and HTML selectors.
  • Useful common columns: type, name, ID, icon, locale, source URL, and timestamp are easy to query.
  • No lossy flattening: entity-specific fields remain available in data.
  • Deterministic limits: records are deduplicated and the global maximum is enforced.
  • Bounded retries: temporary network, HTTP 429, and HTTP 5xx failures receive up to three attempts with backoff.

Which content types are available?

Input valueDataset recordsExamples of fields preserved in data
agentsAgentsrole, abilities, portraits, background, colors
mapsMapscoordinates, tactical description, list view icon, callouts
weaponsWeaponsshop category, cost, fire rate, damage ranges, skins
weaponSkinsIndividual weapon skinschromas, levels, theme, content tier, icons
buddiesGun buddieslevels, theme, content tier, images
spraysSpraysanimation, category, levels, icons
playerCardsPlayer cardswide, large, and small art, theme
titlesPlayer titleslocalized title text and hidden-state flag
competitiveTiersIndividual competitive tiersrank name, division, color, icons, thresholds
contentVersionCurrent content versionsemantic version and Riot client/build versions

Competitive tier source collections are expanded into one dataset item per nested tier. Their recordId combines the collection UUID and tier number.

Getting started

  1. Open the Actor input page in Apify Console.
  2. Select one or more Content types.
  3. Choose a language such as en-US, de-DE, or ja-JP.
  4. Optionally enter a text filter such as Vandal or Ascent.
  5. Set Maximum records to control dataset size and total cost.
  6. Start the run.
  7. Open the Results dataset view or download JSON, CSV, Excel, XML, or RSS through Apify.

A practical first run is:

{
"entityTypes": ["agents"],
"language": "en-US",
"playableAgentsOnly": true,
"maxItems": 20
}

Input reference

FieldTypeDefaultDescription
entityTypesstring arrayagents, maps, weapons, weapon skins, versionCatalogs to export
languagestringen-USSupported VALORANT-API.com response locale
searchstringunsetCase-insensitive match across normalized and full source fields
playableAgentsOnlybooleantrueExclude internal/non-playable agent entries
maxItemsinteger1000Global output limit from 1 to 10,000

At least one entity type is required. A blank search, unsupported entity type, malformed locale, or out-of-range maximum fails validation.

The search filter is applied after retrieval. It does not change what the upstream API exposes, and it may match entity-specific values inside data.

Supported languages

The input schema includes:

  • Arabic (ar-AE)
  • German (de-DE)
  • English (en-US)
  • Spanish (es-ES, es-MX)
  • French (fr-FR)
  • Indonesian (id-ID)
  • Italian (it-IT)
  • Japanese (ja-JP)
  • Korean (ko-KR)
  • Polish (pl-PL)
  • Portuguese (pt-BR)
  • Russian (ru-RU)
  • Thai (th-TH)
  • Turkish (tr-TR)
  • Vietnamese (vi-VN)
  • Simplified Chinese (zh-CN)
  • Traditional Chinese (zh-TW)

Not every source field is translated. Missing source values remain null or absent inside data.

Output format

Every dataset row has the same integration-friendly envelope:

FieldMeaning
recordIdStable source UUID or version-derived identifier
entityTypeSelected normalized content type
displayNameLocalized name when available
descriptionLocalized description when available
developerNameInternal developer or asset name when available
iconUrlPrimary image URL when available
sourceUrlExact public JSON endpoint used
languageRequested locale
dataComplete structured source record
fetchedAtUTC retrieval timestamp

A current agent record looks like this (large entity-specific fields abbreviated):

{
"recordId": "e370fa57-4757-3604-3648-499e1f642d3f",
"entityType": "agents",
"displayName": "Gekko",
"description": "Gekko the Angeleno leads a tight-knit crew of calamitous creatures...",
"developerName": "Aggrobot",
"iconUrl": "https://media.valorant-api.com/agents/e370fa57-4757-3604-3648-499e1f642d3f/displayicon.png",
"sourceUrl": "https://valorant-api.com/v1/agents?language=en-US&isPlayableCharacter=true",
"language": "en-US",
"data": {
"uuid": "e370fa57-4757-3604-3648-499e1f642d3f",
"displayName": "Gekko",
"isPlayableCharacter": true
},
"fetchedAt": "2026-09-05T14:10:00.000Z"
}

The actual data object includes all fields returned for that entity; it is not abbreviated in the dataset.

How much does it cost to export VALORANT game content?

This Actor uses pay per event:

  • Start: $0.005 once per run.
  • Game content record: charged only for each dataset item produced.

Current record prices by Apify tier are:

TierPrice per record
Free$0.011808
Bronze$0.010268
Silver$0.008009
Gold$0.0061608
Platinum$0.0061608
Diamond$0.0061608

Bronze examples, including the start event:

  • 20 records: about $0.21036
  • 100 records: about $1.03180
  • 1,000 records: about $10.27300

Filtered-out, duplicate, failed, and empty results do not produce billable item events. Apify may enforce account-level spending limits. Choose only the catalog scope and output volume you need.

Search for one weapon family

This input returns weapon and skin records containing Vandal:

{
"entityTypes": ["weapons", "weaponSkins"],
"language": "en-US",
"search": "Vandal",
"maxItems": 100
}

Use the same pattern for an agent, map, cosmetic theme, or identifier.

Refresh a complete reference-data pipeline

Schedule this input when a downstream job needs every currently supported catalog:

{
"entityTypes": [
"agents",
"maps",
"weapons",
"weaponSkins",
"buddies",
"sprays",
"playerCards",
"titles",
"competitiveTiers",
"contentVersion"
],
"language": "en-US",
"playableAgentsOnly": true,
"maxItems": 10000
}

Apify schedules can run this daily or after game updates. To identify changes, compare recordId and the data object with a previous dataset in your own database, data warehouse, or workflow. The Actor exports current snapshots; it does not maintain history or send alerts itself.

Integration ideas

  • Join esports match data to stable agent, map, or weapon identifiers.
  • Populate a wiki's structured content templates.
  • Refresh a companion app's localized lookup tables.
  • Send a CSV snapshot to Google Drive or cloud storage.
  • Load JSON records into BigQuery, Snowflake, PostgreSQL, or Elasticsearch.
  • Compare content-version values before triggering a larger catalog refresh.
  • Use webhooks to launch a downstream transformation after a successful run.

Run through the Apify API with cURL

Replace YOUR_TOKEN with an Apify API token:

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~valorant-game-content-catalog/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"entityTypes":["agents","maps"],"language":"en-US","maxItems":100}'

For production, pass tokens through a secret or authorization header instead of committing them to source control.

Run with JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/valorant-game-content-catalog').call({
entityTypes: ['weapons', 'weaponSkins'],
language: 'en-US',
search: 'Vandal',
maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Run with Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/valorant-game-content-catalog').call(run_input={
'entityTypes': ['agents'],
'language': 'en-US',
'playableAgentsOnly': True,
'maxItems': 100,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Use with Apify MCP

Add the Actor to Claude Code:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/valorant-game-content-catalog"

Claude Desktop, Cursor, and VS Code MCP JSON

Use this server entry in the MCP configuration for Claude Desktop, Cursor, or VS Code:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/valorant-game-content-catalog"
}
}
}

Example prompts:

  • “Run automation-lab/valorant-game-content-catalog for playable English agents and summarize their roles.”
  • “Export Vandal weapon and skin records, then list each matching skin's content tier.”
  • “Fetch the current content version and all competitive tiers as structured JSON.”

Reliability and retries

The Actor sends at most ten concurrent catalog requests, one for each selected content type.

Each request has:

  • a 30-second timeout;
  • JSON content-type and response-shape validation;
  • up to three attempts for network errors, rate limits, and temporary server failures;
  • exponential backoff with jitter;
  • no blind retry for deterministic client errors.

If one selected catalog exhausts retries, the run fails rather than silently presenting an incomplete multi-catalog snapshot.

Limits and data freshness

  • Results reflect what VALORANT-API.com returns at run time.
  • VALORANT-API.com is community operated and may lag a Riot release or change fields.
  • The Actor does not scrape player accounts, match history, live matches, esports schedules, store rotations, or private inventory.
  • It does not download image binaries; it returns public image URLs.
  • A full catalog can contain several thousand records and large nested cosmetic objects.
  • maxItems caps the number of saved dataset records, but selected upstream catalogs are still fetched before filtering.
  • Search is substring matching, not semantic or fuzzy search.
  • Current snapshots do not constitute a historical change log.

Responsible use and legality

VALORANT and related assets are trademarks or copyrighted material of Riot Games and their respective owners. This Actor is not endorsed by Riot Games.

Use exported data and media URLs only where you have a lawful basis and in accordance with applicable terms, fan-content rules, intellectual-property rights, and local law. Avoid presenting community API data as official or guaranteed. Do not use the Actor to collect personal or private player information; it does not provide such a workflow.

Troubleshooting

Why did the run return zero records?

Remove search and run the same entity type with a small maximum. A zero-row success means the current selected catalogs contained no text matching the filter. Filtered-out records are not charged as item events.

Why did the run fail with an upstream API error?

Check the run log and VALORANT-API.com status. Temporary failures receive bounded retries automatically. Retry later only if the source is healthy; increasing memory or adding a proxy will not normally help a public API outage.

Why are some common columns null?

Entity families differ. A title may not have a description, while an agent has abilities and portraits. Inspect data for the complete source-specific structure.

Why did I receive exactly maxItems records?

The global output cap was reached. Increase it up to 10,000 if you need more records and a larger dataset.

Can I request a single UUID directly?

Not currently. Select its entity type and use search with the UUID. The Actor retrieves the current catalog and returns matching records.

FAQ

Does this require an API key?

No. The upstream public catalog does not require a key. You only need an Apify account to run the Actor.

Is this official Riot data?

The content is exposed by the community-operated VALORANT-API.com project. Treat freshness and accuracy accordingly.

Can I schedule recurring refreshes?

Yes. Use an Apify schedule and a webhook or integration to load each new dataset. Snapshot comparison happens in your downstream workflow.

Are all cosmetics included?

The supported cosmetic families are weapon skins, buddies, sprays, player cards, and player titles. Store offers, player inventories, bundles, and rotation history are outside scope.

Can I export CSV or Excel?

Yes. Apify datasets support multiple download formats from Console and the dataset API. Nested data fields are best preserved in JSON; flatten them downstream if a spreadsheet requires separate columns.

Does the Actor use proxies?

No. It uses direct HTTPS requests. There is no automatic paid proxy or browser fallback.

  • Twitch Scraper — collect Twitch channels, live streams, games, and clips for gaming and esports workflows.
  • Liquipedia Esports Wiki Scraper — export tournament, match, team, player, and revision records when your pipeline also needs esports event data.

These Actors provide complementary live-media or esports records; they do not replace this VALORANT reference-content catalog.

Support

If a current public catalog fails or a documented output field no longer matches the source, open an issue from the Actor's Apify Console page. Include the input, run URL, expected content type, and the relevant error message. Do not include tokens or private data.