Valorant Game Content Scraper
Pricing
from $6.16 / 1,000 item extracteds
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
Maintained by CommunityActor 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
maxItemslimit; - 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 value | Dataset records | Examples of fields preserved in data |
|---|---|---|
agents | Agents | role, abilities, portraits, background, colors |
maps | Maps | coordinates, tactical description, list view icon, callouts |
weapons | Weapons | shop category, cost, fire rate, damage ranges, skins |
weaponSkins | Individual weapon skins | chromas, levels, theme, content tier, icons |
buddies | Gun buddies | levels, theme, content tier, images |
sprays | Sprays | animation, category, levels, icons |
playerCards | Player cards | wide, large, and small art, theme |
titles | Player titles | localized title text and hidden-state flag |
competitiveTiers | Individual competitive tiers | rank name, division, color, icons, thresholds |
contentVersion | Current content version | semantic 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
- Open the Actor input page in Apify Console.
- Select one or more Content types.
- Choose a language such as
en-US,de-DE, orja-JP. - Optionally enter a text filter such as
VandalorAscent. - Set Maximum records to control dataset size and total cost.
- Start the run.
- 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
| Field | Type | Default | Description |
|---|---|---|---|
entityTypes | string array | agents, maps, weapons, weapon skins, version | Catalogs to export |
language | string | en-US | Supported VALORANT-API.com response locale |
search | string | unset | Case-insensitive match across normalized and full source fields |
playableAgentsOnly | boolean | true | Exclude internal/non-playable agent entries |
maxItems | integer | 1000 | Global 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:
| Field | Meaning |
|---|---|
recordId | Stable source UUID or version-derived identifier |
entityType | Selected normalized content type |
displayName | Localized name when available |
description | Localized description when available |
developerName | Internal developer or asset name when available |
iconUrl | Primary image URL when available |
sourceUrl | Exact public JSON endpoint used |
language | Requested locale |
data | Complete structured source record |
fetchedAt | UTC 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:
| Tier | Price 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 osfrom apify_client import ApifyClientclient = 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().itemsprint(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-catalogfor 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.
maxItemscaps 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.
Related Automation Lab Actors
- 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.