PokéAPI
Entertainment
Ready to useNo account needed
PokéAPI data, published as PokéAPI publishes it. Ingest delivers this data to a data warehouse you own as 14 tables, and updates it on the schedule you choose. There is no code to write and nothing to install.
What you get
| Table | Each row is |
|---|---|
abilityability | One row per ability with its generation; child tables hold its effect text, flavor text and names in every language. |
ability_listability_list | The directory of every ability, one name and detail URL each, keyed by the URL. Read in full every run; it is what `ability` reads the details of. |
generationgeneration | One row per game generation with its main region; child tables list the species, moves, abilities, types and version groups it introduced, and its names. |
generation_listgeneration_list | The directory of every game generation, one name and detail URL each, keyed by the URL. Read in full every run; it is what `generation` reads the details of. |
itemitem | One row per item with its cost, category and fling power; child tables hold its attributes and its effect text, flavor text and names in every language. |
item_listitem_list | The directory of every item, one name and detail URL each, keyed by the URL. Read in full every run; it is what `item` reads the details of. |
movemove | One row per move with its type, power, accuracy, PP, priority, damage class, target and battle metadata; child tables hold the stat changes it causes and its effect text, flavor text and names in every language. |
move_listmove_list | The directory of every move, one name and detail URL each, keyed by the URL. Read in full every run; it is what `move` reads the details of. |
pokemonpokemon | One row per Pokémon (including regional and alternate forms) with its height, weight, base experience and species; child tables list its types, abilities, base stats, held items and every move it can learn. |
pokemon_listpokemon_list | The directory of every Pokémon, one name and detail URL each, keyed by the URL. Read in full every run; it is what `pokemon` reads the details of. |
pokemon_speciespokemon_species | One row per species with its generation, capture rate, legendary and mythical flags and the species it evolves from; child tables hold its Pokédex numbers, egg groups, varieties, names, genera and Pokédex entry text in every language. |
pokemon_species_listpokemon_species_list | The directory of every Pokémon species, one name and detail URL each, keyed by the URL. Read in full every run; it is what `pokemon_species` reads the details of. |
typetype | One row per type (fire, water and the rest) with its damage class and generation; child tables hold its damage relations (which types it hits for double, half or no damage, and which hit it) and its names. |
type_listtype_list | The directory of every type, one name and detail URL each, keyed by the URL. Read in full every run; it is what `type` reads the details of. |
How it works
- Choose PokéAPI. The data is public, so there is nothing to sign in to.
- Pick where it goes. BigQuery, Snowflake, Databricks, Redshift and 10 more, in an account you own.
- Pick a schedule. Daily is the default, and weekly and monthly are there too.
- Ingest runs it from then on. If a run fails, your dashboard shows which table and why.
Questions
- Do I need an account with PokéAPI?
- No. The data is public, so there is nothing to sign up for and nothing to paste in.
- Which warehouses can PokéAPI data go to?
- Amazon S3, Google Cloud Storage, Azure Blob Storage, Apache Iceberg, Ingest Managed Lakehouse, MotherDuck, Postgres, Amazon Athena, Databricks, Redshift, BigQuery, ClickHouse, MySQL / generic SQL and Snowflake, in an account you own.
- How fresh is the data?
- As fresh as your schedule: daily by default, or weekly or monthly. Schedules as often as every 15 minutes are on the Enterprise plan.
- Will running it again create duplicate rows?
- No. Each row is stored once, by its key: when a run reads a row that is already there, it replaces that copy instead of adding a second one.
- Do I need to write code?
- No. Ingest builds, runs and maintains the connector. Someone with access to your warehouse connects it once, following a short guide.
For your data team: technical reference
Connector pokeapi, version 0.1.0, a REST source, status beta, authentication none.
Vendor documentation: https://pokeapi.co/docs/v2
Configuration
No configuration required.
Resources
| Resource | Status | Plan | Write | Primary key | Overrides |
|---|---|---|---|---|---|
abilityOne row per ability with its generation; child tables hold its effect text, flavor text and names in every language. | beta | parent_child | merge | id | - |
ability_listThe directory of every ability, one name and detail URL each, keyed by the URL. Read in full every run; it is what `ability` reads the details of. | beta | full | merge | url | - |
generationOne row per game generation with its main region; child tables list the species, moves, abilities, types and version groups it introduced, and its names. | beta | parent_child | merge | id | - |
generation_listThe directory of every game generation, one name and detail URL each, keyed by the URL. Read in full every run; it is what `generation` reads the details of. | beta | full | merge | url | - |
itemOne row per item with its cost, category and fling power; child tables hold its attributes and its effect text, flavor text and names in every language. | beta | parent_child | merge | id | - |
item_listThe directory of every item, one name and detail URL each, keyed by the URL. Read in full every run; it is what `item` reads the details of. | beta | full | merge | url | - |
moveOne row per move with its type, power, accuracy, PP, priority, damage class, target and battle metadata; child tables hold the stat changes it causes and its effect text, flavor text and names in every language. | beta | parent_child | merge | id | - |
move_listThe directory of every move, one name and detail URL each, keyed by the URL. Read in full every run; it is what `move` reads the details of. | beta | full | merge | url | - |
pokemonOne row per Pokémon (including regional and alternate forms) with its height, weight, base experience and species; child tables list its types, abilities, base stats, held items and every move it can learn. | beta | parent_child | merge | id | - |
pokemon_listThe directory of every Pokémon, one name and detail URL each, keyed by the URL. Read in full every run; it is what `pokemon` reads the details of. | beta | full | merge | url | - |
pokemon_speciesOne row per species with its generation, capture rate, legendary and mythical flags and the species it evolves from; child tables hold its Pokédex numbers, egg groups, varieties, names, genera and Pokédex entry text in every language. | beta | parent_child | merge | id | - |
pokemon_species_listThe directory of every Pokémon species, one name and detail URL each, keyed by the URL. Read in full every run; it is what `pokemon_species` reads the details of. | beta | full | merge | url | - |
typeOne row per type (fire, water and the rest) with its damage class and generation; child tables hold its damage relations (which types it hits for double, half or no damage, and which hit it) and its names. | beta | parent_child | merge | id | - |
type_listThe directory of every type, one name and detail URL each, keyed by the URL. Read in full every run; it is what `type` reads the details of. | beta | full | merge | url | - |
Where this lands, and what else connects
Setting up the destination is its own short guide, one per warehouse or lake: Amazon S3, Google Cloud Storage, Azure Blob Storage, Apache Iceberg, Ingest Managed Lakehouse, MotherDuck, Postgres, Amazon Athena, Databricks, Redshift, BigQuery, ClickHouse, MySQL / generic SQL, Snowflake.
Get PokéAPI data into your warehouse
Last updated .