{"openapi":"3.1.0","info":{"title":"Pokemon Showdown Battle API","version":"1.0.0","description":"Competitive Pokémon battle data as an API, built on the open Pokémon Showdown dataset — the data that powers the popular online battle simulator. Look up any Pokémon by name for its National Dex number, types, base stats (HP, Attack, Defense, Sp. Atk, Sp. Def, Speed) and base-stat total, its regular and hidden abilities, gender ratio, egg groups, height, weight and evolution line, plus a sprite. Browse every Pokémon of a given type, and look up any battle move for its base power, accuracy, type, category (physical, special or status), PP, priority, target and effect — or filter moves by type and category. Pull a random Pokémon too. Real competitive data, no key needed upstream. Ideal for team builders, damage calculators, battle tools and Pokémon fan apps.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/pokemonshowdown-api","description":"oanor gateway"}],"tags":[{"name":"Pokemon"},{"name":"Moves"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/pokemon":{"get":{"operationId":"get_v1_pokemon","tags":["Pokemon"],"summary":"A Pokemon by name, or a list by type","description":"","parameters":[{"name":"name","in":"query","required":false,"description":"Pokemon name, e.g. garchomp","schema":{"type":"string"},"example":"garchomp"},{"name":"type","in":"query","required":false,"description":"Filter by type, e.g. dragon","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Max results when listing (default 30)","schema":{"type":"string"},"example":"30"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"pokemon":{"id":"garchomp","num":445,"evos":[],"name":"Garchomp","color":"Blue","prevo":"Gabite","types":["Dragon","Ground"],"sprite":"https://play.pokemonshowdown.com/sprites/dex/garchomp.png","height_m":1.9,"abilities":[{"name":"Sand Veil","slot":"slot0"},{"name":"Rough Skin","slot":"hidden"}],"evo_level":48,"weight_kg":95,"base_stats":{"hp":108,"speed":102,"attack":130,"defense":95,"sp_attack":80,"sp_defense":85},"egg_groups":["Monster","Dragon"],"base_stat_total":600}},"meta":{"timestamp":"2026-06-08T01:18:30.291Z","request_id":"22dd7b33-f016-4f74-9af4-66b08a3a6be5"},"status":"ok","message":"Pokemon retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/random":{"get":{"operationId":"get_v1_random","tags":["Pokemon"],"summary":"A random Pokemon","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"pokemon":{"id":"steelixmega","num":208,"evos":[],"name":"Steelix-Mega","color":"Gray","types":["Steel","Ground"],"sprite":"https://play.pokemonshowdown.com/sprites/dex/steelixmega.png","height_m":10.5,"abilities":[{"name":"Sand Force","slot":"slot0"}],"weight_kg":740,"base_stats":{"hp":75,"speed":30,"attack":125,"defense":230,"sp_attack":55,"sp_defense":95},"egg_groups":["Mineral"],"base_stat_total":610}},"meta":{"timestamp":"2026-06-08T01:18:30.398Z","request_id":"1ef43fbf-b177-446c-930a-c2cf8b1b30dc"},"status":"ok","message":"Random Pokemon retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/move":{"get":{"operationId":"get_v1_move","tags":["Moves"],"summary":"A single move by name","description":"","parameters":[{"name":"name","in":"query","required":true,"description":"Move name, e.g. earthquake","schema":{"type":"string"},"example":"earthquake"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"move":{"id":"earthquake","pp":10,"num":89,"is_z":false,"name":"Earthquake","type":"Ground","flags":["protect","mirror","nonsky","metronome"],"is_max":false,"target":"allAdjacent","accuracy":100,"category":"Physical","priority":0,"base_power":100,"description":"Hits adjacent Pokemon. Double damage on Dig."}},"meta":{"timestamp":"2026-06-08T01:18:32.187Z","request_id":"81e8b93e-334b-4f63-936a-9845c6f5c946"},"status":"ok","message":"Move retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/moves":{"get":{"operationId":"get_v1_moves","tags":["Moves"],"summary":"Moves filtered by type & category","description":"","parameters":[{"name":"type","in":"query","required":false,"description":"Move type, e.g. fire","schema":{"type":"string"},"example":"fire"},{"name":"category","in":"query","required":false,"description":"physical | special | status","schema":{"type":"string"},"example":"special"},{"name":"limit","in":"query","required":false,"description":"Max results (default 30)","schema":{"type":"string"},"example":"30"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"type":"fire","count":26,"moves":[{"id":"blastburn","pp":5,"num":307,"is_z":false,"name":"Blast Burn","type":"Fire","flags":["recharge","protect","mirror","metronome"],"is_max":false,"target":"normal","accuracy":90,"category":"Special","priority":0,"base_power":150,"description":"User cannot move next turn."},{"id":"eruption","pp":5,"num":284,"is_z":false,"name":"Eruption","type":"Fire","flags":["protect","mirror","metronome"],"is_max":false,"target":"allAdjacentFoes","accuracy":100,"category":"Special","priority":0,"base_power":150,"description":"Less power as user's HP decreases. Hits foe(s)."},{"id":"mindblown","pp":5,"num":720,"is_z":false,"name":"Mind Blown","type":"Fire","flags":["protect","mirror"],"is_max":false,"target":"allAdjacent","accuracy":100,"category":"Special","priority":0,"base_power":150,"description":"User loses 50% max HP. Hits adjacent Pokemon."},{"id":"shelltrap","pp":5,"num":704,"is_z":false,"name":"Shell Trap","type":"Fire","flags":["protect","failmefirst","nosleeptalk","noassist","failcopycat","failinstruct"],"is_max":false,"target":"allAdjacentFoes","accuracy":100,"category":"Special","priority":-3,"base_power":150,"description":"User must take physical damage before moving."},{"id":"blueflare","pp":5,"num":551,"is_z":false,"name":"Blue Flare","type":"Fire","flags":["protect","mirror","metronome"],"is_max":false,"target":"normal","accuracy":85,"category":"Special","priority":0,"base_power":130,"description":"20% chance to burn the target."},{"id":"burnup","pp":5,"num":682,"is_z":false,"name":"Burn Up","type":"Fire","flags":["protect","mirror","defrost","metronome"],"is_max":false,"target":"normal","accuracy":100,"category":"Special","priority":0,"base_power":130,"description":"User's Fire type becomes typeless; must be Fire."},{"id":"overheat","pp":5,"num":315,"is_z":false,"name":"Overheat","type":"Fire","flags":["protect","mirror","metronome"],"is_max":false,"target":"normal","accuracy":90,"category":"Special","priority":0,"base_power":130,"description":"Lowers the user's Sp. Atk by 2."},{"id":"armorcannon","pp":5,"num":890,"is_z":false,"name":"Armor Cannon","type":"Fire","flags":["protect","mirror"],"is_max":false,"target":"normal","accuracy":100,"category":"Special","priority":0,"base_power":120,"description":"Lowers the user's Defense and Sp. Def by 1."},{"id":"fireblast","pp":5,"num":126,"is_z":false,"name":"Fire Blast","type":"Fire","flags":["protect","mirror","metronome"],"is_max":false,"target":"normal","accuracy":85,"category":"Special","priority":0,"base_power":110,"description":"10% chance to burn the target."},{"id":"fusionflare","pp":5,"num":558,"is_z":false,"name":"Fusion Flare","type":"Fire","flags":["protect","mirror","defrost","metronome"],"is_max":false,"target":"normal","accuracy":100,"category":"Special","priority":0,"base_power":100,"description":"Power doubles if used after Fusion Bolt this turn."},{"id":"inferno","pp":5,"num":517,"is_z":false,"name":"Inferno","type":"Fire","flags":["protect","mirror","metronome"],"is_max":false,"target":"normal","accuracy":50,"category":"Special","priority":0,"base_power":100,"description":"100% chance to burn the target."},{"id":"magmastorm","pp":5,"num":463,"is_z":false,"name":"Magma Storm","type":"Fire","flags":["protect","mirror","metronome"],"is_max":false,"target":"normal","accuracy":75,"category":"Special","priority":0,"base_power":100,"description":"Traps and damages the target for 4-5 turns."},{"id":"searingshot","pp":5,"num":545,"is_z":false,"name":"Searing Shot","type":"Fire","flags":["protect","mirror","metronome","bullet"],"is_max":false,"target":"allAdjacent","accuracy":100,"category":"Special","priority":0,"base_power":100,"description":"30% chance to burn adjacent Pokemon."},{"id":"heatwave","pp":10,"num":257,"is_z":false,"name":"Heat Wave","type":"Fire","flags":["protect","mirror","metronome","wind"],"is_max":false,"target":"allAdjacentFoes","accuracy":90,"category":"Special","priority":0,"base_power":95,"description":"10% chance to burn the foe(s)."},{"id":"flamethrower","pp":15,"num":53,"is_z":false,"name":"Flamethrower","type":"Fire","flags":["protect","mirror","metronome"],"is_max":false,"target":"normal","accuracy":100,"category":"Special","priority":0,"base_power":90,"description":"10% chance to burn the target."},{"id":"fierydance","pp":10,"num":552,"is_z":false,"name":"Fiery Dance","type":"Fire","flags":["protect","mirror","dance","metronome"],"is_max":false,"target":"normal","accuracy":100,"category":"Special","priority":0,"base_power":80,"description":"50% chance to raise the user's Sp. Atk by 1."},{"id":"firepledge","pp":10,"num":519,"is_z":false,"name":"Fire Pledge","type":"Fire","flags":["protect","mirror","nonsky","metronome","pledgecombo"],"is_max":false,"target":"normal","accuracy":100,"category":"Special","priority":0,"base_power":80,"description":"Use with Grass or Water Pledge for added effect."},{"id":"lavaplume","pp":15,"num":436,"is_z":false,"name":"Lava Plume","type":"Fire","flags":["protect","mirror","metronome"],"is_max":false,"target":"allAdjacent","accuracy":100,"category":"Special","priority":0,"base_power":80,"description":"30% chance to burn adjacent Pokemon."},{"id":"torchsong","pp":10,"num":871,"is_z":false,"name":"Torch Song","type":"Fire","flags":["protect","mirror","sound","bypasssub","metronome"],"is_max":false,"target":"normal","accuracy":100,"category":"Special","priority":0,"base_power":80,"description":"100% chance to raise the user's Sp. Atk by 1."},{"id":"mysticalfire","pp":10,"num":595,"is_z":false,"name":"Mystical Fire","type":"Fire","flags":["protect","mirror","metronome"],"is_max":false,"target":"normal","accuracy":100,"category":"Special","priority":0,"base_power":75,"description":"100% chance to lower the target's Sp. Atk by 1."},{"id":"burningjealousy","pp":5,"num":807,"is_z":false,"name":"Burning Jealousy","type":"Fire","flags":["protect","mirror","metronome"],"is_max":false,"target":"allAdjacentFoes","accuracy":100,"category":"Special","priority":0,"base_power":70,"description":"100% burns a target that had a stat rise this turn."},{"id":"flameburst","pp":15,"num":481,"is_z":false,"name":"Flame Burst","type":"Fire","flags":["protect","mirror","metronome"],"is_max":false,"target":"normal","accuracy":100,"category":"Special","priority":0,"base_power":70,"description":"Damages Pokemon next to the target as well."},{"id":"hiddenpowerfire","pp":15,"num":237,"is_z":false,"name":"Hidden Power Fire","type":"Fire","flags":["protect","mirror"],"is_max":false,"target":"normal","accuracy":100,"category":"Special","priority":0,"base_power":60},{"id":"incinerate","pp":15,"num":510,"is_z":false,"name":"Incinerate","type":"Fire","flags":["protect","mirror","metronome"],"is_max":false,"target":"allAdjacentFoes","accuracy":100,"category":"Special","priority":0,"base_power":60,"description":"Destroys the foe(s) Berry/Gem."},{"id":"ember","pp":25,"num":52,"is_z":false,"name":"Ember","type":"Fire","flags":["protect","mirror","metronome"],"is_max":false,"target":"normal","accuracy":100,"category":"Special","priority":0,"base_power":40,"description":"10% chance to burn the target."},{"id":"firespin","pp":15,"num":83,"is_z":false,"name":"Fire Spin","type":"Fire","flags":["protect","mirror","metronome"],"is_max":false,"target":"normal","accuracy":85,"category":"Special","priority":0,"base_power":35,"description":"Traps and damages the target for 4-5 turns."}],"total":26,"category":"special"},"meta":{"timestamp":"2026-06-08T01:18:32.290Z","request_id":"c425efb2-669e-4461-951a-3fb0df66ccf2"},"status":"ok","message":"Moves retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Service description & endpoints","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"service":"pokemonshowdown-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/move":"A single move by name (name=, e.g. earthquake).","GET /v1/moves":"Moves filtered by type & category (type=, category=physical|special|status, limit=).","GET /v1/random":"A random Pokémon.","GET /v1/pokemon":"A Pokémon by name, or a list filtered by type (name= | type=, limit=)."},"description":"Competitive Pokémon battle data via the open Pokémon Showdown dataset: every Pokémon with its base stats, types, abilities, gender ratio, egg groups and evolution line plus a sprite; and every battle move with base power, accuracy, type, category, PP, priority and effect. Filter Pokémon by type or moves by type and category. Real data, no key."},"meta":{"timestamp":"2026-06-08T01:18:32.393Z","request_id":"eef5c1bf-3628-4760-8cd1-da4ba8b093ae"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":11200,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":320,"monthly_call_quota":146000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1550,"monthly_call_quota":755000,"rps_limit":25,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":5800,"monthly_call_quota":3480000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/pokemonshowdown-api"}