Pokémon Pokédex Data API avatar

Pokémon Pokédex Data API

Pricing

from $1.44 / 1,000 item extracteds

Go to Apify Store
Pokémon Pokédex Data API

Pokémon Pokédex Data API

Search Pokémon by name or Pokédex ID and export normalized species, forms, types, abilities, moves, stats, evolutions, encounters, game versions, and sprite provenance.

Pricing

from $1.44 / 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

5 days ago

Last modified

Categories

Share

Build clean Pokémon datasets without manually joining multiple endpoints. This Actor searches supplied Pokémon names or National Pokédex IDs and exports one normalized record per Pokémon from the public PokeAPI.

Each record combines species, forms, types, abilities, moves, base stats, evolution chains, encounters, game-version references, and sprite provenance. It is useful for games, fan tools, search products, spreadsheets, and recurring reference-data refreshes.

A version filter supports workflows such as a Pokémon Fire Red Pokédex while keeping the stable record shape used by broader National Pokédex exports.

What does this Pokémon data Actor do?

The Actor accepts a list such as pikachu, charizard, and 150. For every valid entry it retrieves and joins these public resources:

  1. Pokémon details;
  2. species details;
  3. the linked evolution chain;
  4. location-area encounters, unless disabled.

It deduplicates repeated inputs and saves only useful normalized records. Unknown names or IDs are logged and skipped without charging an item event. Stable upstream failures stop the run instead of returning misleading empty data.

Who is it for?

  • Game developers prototyping mechanics or lookup screens.
  • Fan-site builders creating searchable Pokédex pages.
  • Data analysts comparing stats, types, generations, and move availability.
  • Educators preparing structured examples for API or data lessons.
  • Automation teams refreshing a known set of Pokémon on a schedule.
  • Spreadsheet users who need JSON, CSV, Excel, XML, or RSS dataset exports.

Why use this instead of raw API calls?

PokeAPI is an excellent public source, but a complete entity spans linked resources. This Actor performs those joins, applies one consistent input limit, normalizes nested fields, retries temporary failures, and writes an integration-ready Apify dataset.

You also get scheduling, webhooks, API access, dataset retention, exports, and Apify integrations without maintaining a separate job runner.

What Pokémon data is extracted?

FieldMeaning
pokemonId, name, pokedexNumberCanonical identity and National Pokédex number
speciesEnglish genus, generation, habitat, color, shape, flags, varieties
formsForm names and canonical PokeAPI URLs
typesOrdered elemental types
abilitiesAbility slot and hidden-ability status
statsBase stat and effort value for each stat
movesMove, learning methods, and version groups
evolutionChainFlattened chain, parent, trigger, level, and conditions
encountersLocation areas, game versions, chances, and methods
gameVersionsReferenced versions and version groups
height, weightPokeAPI decimetres and hectograms
baseExperienceBase experience when exposed upstream
spritesOriginal nested sprite and artwork URL tree
spriteProvenanceUpstream source and repository guidance
sourceUrl, speciesUrlCanonical source endpoints
fetchedAtUTC retrieval timestamp

Getting started

  1. Open the Actor in Apify Console.
  2. Enter Pokémon names or IDs in Pokémon names or IDs.
  3. Optionally add a game version filter such as fire-red.
  4. Keep moves and encounters enabled for the richest record.
  5. Set a maximum record count.
  6. Click Start.
  7. Open the Pokédex records dataset view.
  8. Export or connect the dataset to your next workflow.

A useful first input is:

{
"pokemon": ["pikachu", "charizard", "1"],
"maxItems": 3
}

Input parameters

pokemon

A non-empty list of names or National Pokédex IDs represented as strings. Names are lowercased and spaces become hyphens. Duplicate values are removed while preserving first-seen order. The default is a small three-Pokémon sample.

version

Optional PokeAPI version or version-group slug. Examples include fire-red, emerald, and scarlet-violet. It filters move version groups and encounter versions. It does not claim that every species exists in that game's regional Pokédex.

includeMoves

Defaults to true. Set it to false to omit the potentially large move collection.

includeEncounters

Defaults to true. Set it to false to skip the extra encounter endpoint and reduce output size.

maxItems

Maximum number of unique records, from 1 to 1,000. Processing stops before any input beyond this limit is fetched.

Pokémon Fire Red Pokédex example

Use version filtering when you need Fire Red move and encounter context:

{
"pokemon": ["pikachu", "charizard", "mewtwo"],
"version": "fire-red",
"includeMoves": true,
"includeEncounters": true,
"maxItems": 3
}

The resulting records retain general species data while move and encounter arrays include matching Fire Red references. Supply the exact Pokémon set relevant to your project.

Output example

The live output is richer than this shortened example:

{
"pokemonId": 25,
"name": "pikachu",
"pokedexNumber": 25,
"types": [{ "slot": 1, "name": "electric" }],
"abilities": [
{ "slot": 1, "name": "static", "isHidden": false },
{ "slot": 3, "name": "lightning-rod", "isHidden": true }
],
"stats": [
{ "name": "hp", "baseStat": 35, "effort": 0 },
{ "name": "speed", "baseStat": 90, "effort": 2 }
],
"forms": [
{ "name": "pikachu", "url": "https://pokeapi.co/api/v2/pokemon-form/25/" }
],
"sourceUrl": "https://pokeapi.co/api/v2/pokemon/25/",
"speciesUrl": "https://pokeapi.co/api/v2/pokemon-species/25/"
}

Use the dataset API without view=overview to retrieve every nested field.

How much does it cost to export Pokémon Pokédex records?

Pay-per-event pricing has two parts:

  • $0.00005 once when a run starts;
  • the tier price for each successfully saved Pokémon record.

Current item tiers are:

PlanPrice per Pokémon
Free$0.00276
Bronze$0.00240
Silver$0.001872
Gold$0.00144
Platinum$0.00144
Diamond$0.00144

At Bronze rates, 10 records cost about $0.02405 including the start event, 100 records cost about $0.24005, and 1,000 records cost about $2.40005. Unknown, duplicate, failed, or skipped identifiers do not emit item charges. Platform usage remains subject to your Apify plan.

Scheduling recurring data refreshes

Create an Apify Task with the stable Pokémon list your product uses. Schedule it daily, weekly, or before a release. Send the completed dataset to cloud storage, a webhook, or your own database. Compare the current dataset with the previous run to identify upstream changes.

The Actor itself emits current snapshots. It does not maintain history, send alerts, or calculate diffs automatically.

Spreadsheet and data-pipeline workflows

After a run, export the dataset as JSON, CSV, Excel, XML, or RSS. Nested arrays work best in JSON. For tabular tools, choose the fields needed for your table or flatten them in a post-processing step.

Typical workflows include:

  • populate a game prototype's reference table;
  • enrich a list of Pokémon IDs from user activity;
  • generate static pages for a fan guide;
  • cache sprite URLs with provenance alongside records;
  • compare type and stat distributions in a notebook.

Use the Actor through the Apify API

Replace YOUR_TOKEN with an Apify API token.

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~pokemon-pokedex-data-api/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"pokemon":["pikachu","150"],"maxItems":2}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/pokemon-pokedex-data-api').call({
pokemon: ['bulbasaur', 'charmander', 'squirtle'],
maxItems: 3,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("automation-lab/pokemon-pokedex-data-api").call(
run_input={"pokemon": ["pikachu", "mewtwo"], "maxItems": 2}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Use it with MCP and AI agents

Add the Apify MCP server to Claude Code:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/pokemon-pokedex-data-api"

Claude Desktop, Cursor, and VS Code setup

Claude Desktop, Cursor, and VS Code clients can use this HTTP MCP configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/pokemon-pokedex-data-api"
}
}
}

Example prompts:

  • “Get types, base stats, and evolutions for Pokémon IDs 1, 4, and 7.”
  • “Build Fire Red move and encounter records for Pikachu and Charizard.”
  • “Export these Pokémon records and summarize their speed distribution.”

Reliability and retry behavior

The Actor uses direct public JSON endpoints and does not require a proxy or API key for PokeAPI. Temporary HTTP 429 and common 5xx responses are retried up to three times with backoff. A missing Pokémon is skipped with a warning. Unexpected response formats and stable upstream errors fail the run visibly.

Requests are intentionally conservative rather than highly concurrent. This protects upstream reliability and keeps memory usage low.

Limits and data freshness

  • Data reflects PokeAPI at run time, not official Nintendo release guarantees.
  • A version filter is a relationship filter, not a regional-Pokédex membership test.
  • Move arrays and sprite trees can be large.
  • Encounter availability varies by Pokémon and version.
  • Some modern forms or game data may lag their original release.
  • The Actor does not download sprite image binaries.
  • Maximum input size is 1,000 unique records per run.

For source issues, first verify the corresponding PokeAPI endpoint.

Sprite provenance and responsible asset use

Sprite URLs come from the PokeAPI response. The output names the PokeAPI sprites repository as provenance and deliberately avoids claiming one blanket asset license. Review the upstream repository, source attribution, and rights applicable to your intended use before redistributing artwork.

Pokémon names and imagery are trademarks or intellectual property of their respective owners. This Actor is not affiliated with Nintendo, Game Freak, The Pokémon Company, or PokeAPI.

PokeAPI is a public community API. Use reasonable run sizes and schedules, honor upstream guidance, and avoid creating unnecessary request load. You are responsible for complying with applicable terms, licenses, trademark rules, and laws. Do not treat this tool as permission to redistribute protected media.

Troubleshooting

A Pokémon produced no row

Check spelling or use its National Pokédex ID. The Actor logs a warning when PokeAPI returns 404. Use canonical slugs such as mr-mime where punctuation is involved.

Moves or encounters are empty

Remove the version filter to confirm the base data. Then use a PokeAPI version or version-group slug that appears for that Pokémon. Some Pokémon have no encounter data in a selected game.

The run failed with a PokeAPI error

Inspect the run log and retry later if the upstream API was temporarily unavailable. Repeated stable errors should be reported with the input and run URL.

The exported CSV looks nested

Use JSON for complete nested structures, or select and flatten fields for a spreadsheet-oriented downstream table.

FAQ

Does this search every Pokémon automatically?

No. It processes the names or IDs you supply so runs remain intentional and bounded.

Can I search by Pokédex ID?

Yes. Add the ID as a string, for example "25" for Pikachu.

Is this limited to Pokémon Fire Red?

No. Fire Red is one supported version-filtered workflow. The Actor can retrieve general records or filter moves and encounters for other PokeAPI version slugs.

Does it download sprite files?

No. It exports the source URLs and provenance metadata.

Are forms separate charged records?

No. Forms, moves, encounters, and evolutions are included inside the one Pokémon item event. Only saved top-level Pokémon records are item-charged.

Can I schedule it?

Yes. Save an Apify Task and add a schedule for recurring refreshes.

For general API and dataset workflows, explore the Automation Lab Apify Store profile. No other portfolio Actor currently provides a closer Pokémon-specific companion, so this product is positioned as a standalone reference-data workflow rather than linking unrelated scrapers.

Data source acknowledgment

This product uses data from PokeAPI, a community-maintained REST API. Source URLs are retained in every output row for traceability.