Pokémon GO Search Strings

A complete reference of all search strings and filters available in Pokémon GO. Covers storage search phrases (by name, CP, type, IVs, moves, tags, and more), friend list filters, Pokédex search, and how to combine phrases with logical operators.

All search phrases are case-insensitive, so 'Shiny', 'shiny', and 'SHINY' all work the same. Many phrases support autocomplete, meaning you only need to type the first few characters to get a match.

Pokémon GO Search Strings

Pokémon Phrases

Search by Name

All name searches support autocomplete, just start typing. The "Show Evolutionary Line" toggle in the search bar is the same as adding '+' before every name. Some Pokémon have special characters in their names (like Mega Beedrill or Tapu Koko). You can search for them by typing the part after the special character, like 'beedrill' or 'koko'. This only works with default names, not nicknames.

PhraseWhat it doesNotes
[name]Find Pokémon by name or nickname
Examples: 'vulpix', 'vulp'
Other search phrases take priority. If your search matches a keyword, it won't search by name.
+[name]Find the entire evolutionary family
Examples: '+vulpix', '+bidoo'
Only works at the start of a search or after a comma.

Search by Range

These searches all work with number ranges. Use [phrase][N] for an exact value, [phrase][N]-[M] for a range (inclusive), [phrase][N]- for "N or higher", and [phrase]-[N] for "N or lower". For example, 'cp1500-2500' finds everything between 1500 and 2500 CP.

PhraseWhat it doesNotes
cp[N]Filter by Combat Power
Examples: 'cp-1500', 'cp2500-1501', 'cp3000-'
distance[N]Filter by catch distance (km)
Examples: 'distance101-', 'distance1000'
Measured from your current in-game location. Without a dash, it matches distances less than [N], so 'distance100' works like 'distance-100'.
hp[N]Filter by HP
Examples: 'hp200-'
Uses max HP and ignores any damage taken. Use HP sort if you want to find damaged Pokémon.
[N]Filter by Pokédex number
Examples: '-151', '399'
Uses the national dex number.
year[N]Filter by catch year
Examples: 'year16', 'year20-2021', 'year2017-'
Two-digit years are treated as 20xx, so 'year16' means 2016.
age[N]Filter by age (days since catch)
Examples: 'age0', 'age365-'
Resets exactly 24 hours after catch. Hatched Pokémon use the hatch date, and traded Pokémon use the original catch date.
buddy[N]Filter by buddy friendship level
Examples: 'buddy5', 'buddy1-4'
0 = never been your buddy. 1 = buddied but never leveled up. 2/3/4/5 = Good/Great/Ultra/Best Buddy. Use 'buddy1-' to find everything you've ever walked with.
Mega[N]Filter by Mega Evolution level
Examples: 'Mega1-', 'Mega3'
0 = never mega evolved. 1/2/3/4 = Base/High/Max/Super Max level. 'Mega1-' finds everything you've mega evolved before. Just typing 'Mega' is a shortcut for 'Mega0-'.
[N]hp / [N]attack / [N]defenseFilter by individual IV stats
Examples: '-1attack', '4hp', '3-defense'
0 = IV of 0, 1 = IV 1-5, 2 = IV 6-10, 3 = IV 11-14, 4 = IV 15 (perfect).
candykm[N]Filter by buddy candy distance
Examples: 'candykm1', 'candykm3-5'
Available distances: 1, 3, 5, and 20 km. Distance modifiers like buddy excitement don't affect results. Fun fact: 'candykm20' gives you the same result as 'legendary,mythical,ultrabeast'.
count[N]Filter by how many copies you own
Examples: 'count1', 'count10-'
Counts by dex number only, so different forms are treated as the same species. Just typing 'count' is a shortcut for 'count2-' (duplicates).
countcandy[N] / countcandyXL[N]Filter by candy or XL candy count
Examples: 'countcandy248-', 'countcandyxl296-'

Search by Category

These phrases group Pokémon by type, region, gender, size, and more.

PhraseWhat it doesNotes
[type]Filter by Pokémon type
Examples: 'water'
All 18 types: grass, water, fire, ground, ice, steel, fairy, electric, flying, poison, ghost, dark, normal, bug, rock, fighting, dragon, and psychic.
[region]Filter by region of origin
Examples: 'alola'
Options: Kanto, Johto, Hoenn, Sinnoh, Unova, Kalos, Galar, Alola, Hisui, and Paldea. Searching Alola, Galar, Hisui, or Paldea also returns their regional forms. Those forms won't appear when searching for their original region.
[gender]Filter by genderOptions: Male, Female, Genderunknown.
[size]Filter by sizeOptions: xxs, xs, xl, and xxl. Size is relative to each species and based on height.
[N]*Filter by appraisal (star rating)
Examples: '4*', '0*'
0 through 4 stars. Based on total IVs: 0★ = 0-22, 1★ = 23-29, 2★ = 30-36, 3★ = 37-44, 4★ = 45 (hundo!).
<[type]Pokémon weak to a type
Examples: '<fire'
Returns Pokémon whose typing takes super effective damage from that type.
>[type]Pokémon with moves strong against a type
Examples: '>fire'
Returns Pokémon that know at least one move dealing super effective damage to that type.

Search by Keyword

Special keywords that match Pokémon with certain properties.

PhraseWhat it doesNotes
costumePokémon wearing event costumesThese are Pokémon caught during special events with unique outfits.
[location_card]Pokémon with a special catch cardUse 'locationbackground' for in-person events, 'specialbackground' for global events, or 'background' for both.
eggsonlyBaby PokémonSpecies that are typically only available from eggs.
[keyword]Filter by special statusWorks with: legendary, mythical, ultrabeast, shadow, purified, shiny, lucky, dynamax, and gigantamax. You can also type 'Ultra Beasts' (with a space).
defenderCurrently in a gymDoesn't include Pokémon defending Power Spots. There's no search for those yet.
favoriteYour favorited PokémonThe ones you've starred. 'favourite' works too.
candyxlPowered up past level 40Doesn't count Best Buddy boost, only actual XL candy power-ups.
partyCaught during a PartyOnly works for Pokémon caught after Nov 1, 2023. Covers all encounter types.
hypertrainingCurrently being Hyper TrainedOnly shows Pokémon actively in Hyper Training, not ones that have already finished.
maxmove1-Eligible for Max BattlesCatches everything that can enter Max Battles: Dynamax, Gigantamax, Crowned Zacian, Crowned Zamazenta, and Eternatus.
249-250&shadow,purified&researchApex Lugia and Ho-OhA workaround to find the Apex forms. There's no dedicated search phrase for them.

Search by Encounter Type

Filter Pokémon by how you originally obtained them.

PhraseWhat it doesNotes
raidFrom raidsCovers all raid types. Only works for Pokémon caught after Oct 28, 2020.
[raid_type]From specific raid typesOptions: remoteraid, megaraid, exraid, and primalraid. Only extends back to Oct 8, 2020. Remote and Mega raid catches before Oct 28, 2020 also show up under 'raid'.
hatchedHatched from eggsOnly works for Pokémon hatched after around July 17, 2017.
researchFrom research tasksCovers field, timed, breakthrough, special, collection challenges, and social encounters (party play, weekly challenge). Only goes back to Oct 28, 2020.
gblFrom GO Battle LeagueOnly goes back to around Oct 28, 2020.
rocketFrom Team GO RocketCovers all rocket battle types, but doesn't include shadows from raids or research. Use 'shadow,purified' as a workaround for those. Goes back to Oct 28, 2020.
snapshotFrom photobombsGoes back to around Oct 28, 2020.
tradedReceived from tradesThese will also appear under whatever encounter type they were originally caught with.
Caught in the wildNo dedicated phrase for wild catches. Workaround: '&!raid&!hatched&!research&!gbl&!rocket&!snapshot&!traded&'

Search by Evolution

Phrases to help you find Pokémon ready to evolve or with special evolution requirements.

PhraseWhat it doesNotes
evolveReady to evolve right nowChecks candy, items, and gender requirements. Also checks buddy walking quests, but ignores other quest types.
evolvenewCan evolve into something new for your dexOnly looks at direct evolutions with an unregistered dex entry (including Mega dex).
megaevolveHas enough energy to Mega EvolveChecks each Pokémon's current Mega Energy. Won't show your currently active Mega.
itemNeeds an evolution itemOnly shows Pokémon that also have enough candy and the required item.
tradeevolveHas a free trade evolutionPokémon that evolve for free if received in a trade. Doesn't include their pre-evolutions.
evolvequestHas a buddy evolution taskPokémon with special buddy quest requirements to evolve (like walking 10 km or earning hearts).
fusionCan fuse with another PokémonCurrently Necrozma and Kyurem. Shows both unfused and already-fused forms, but not the secondary fusion partner.

Search by Moves

Use the @ symbol to search by moves. These phrases let you filter by move type, name, or slot.

PhraseWhat it doesNotes
@[type]Has a move of that type
Examples: '@fairy'
Type searches take priority over move name searches.
@[move]Has a move with that name
Examples: '@crunch', '@hydro pump'
Autocompletes as you type. For multi-word moves, include the space. To find the move "Psychic" specifically, use '@psychi' to avoid matching Psychic Fangs.
@specialHas a move that requires an Elite TMIncludes Elite TM exclusives, true legacy moves, Frustration, and Return.
@weatherHas a weather-boosted move type
@[1/2/3][criteria]Search a specific move slot
Examples: '@1water', '@3meteor mash', '@2weather'
1 = Fast Attack, 2 = first Charged Attack, 3 = second Charged Attack. Combine with any move criteria: type, name, special, or weather.
!@movHas a 2nd Charged Attack unlocked
Examples: '!@mov', '!@3move_name_0000'
Works because Pokémon without a 2nd move have a placeholder called 'move_name_0000'. Use at least 'mov' to avoid filtering out moves like Moonblast.
adventureeffectHas moves with Adventure EffectsUnlike other move searches, this one doesn't use the @ prefix.
dynamax[N] / gigantamax[N]Max Pokémon with [N] max moves
Examples: 'dynamax3', 'gigantamax2-'
[N] is a range (1/2/3 = number of moves unlocked). 'dynamax' only returns Dynamax species, 'gigantamax' only Gigantamax. Neither finds Crowned Zacian, Zamazenta, or Eternatus.
max[move][N]Max Pokémon with a specific max move at level [N]
Examples: 'maxmove2', 'maxspirit1-'
[N] is a range (1/2/3 = move level). Options: maxmove (typed attacks), maxguard, maxspirit. Use '!max[move]1-' to find those who haven't unlocked a move yet.

Search by Tags

Tags are custom labels you can create and assign to your Pokémon.

PhraseWhat it doesNotes
[tag]Pokémon with a specific tagHeads up: if you name a tag the same as an existing search phrase, it'll break that phrase. Avoid this!
#[tag]Search tags by name (with autocomplete)Using # avoids conflicts with other search phrases.
#All tagged Pokémon
Examples: '#', '!#'
Use '!#' to find everything that's untagged.

Combining Searches

Mix and match phrases to build powerful search queries.

PhraseWhat it doesNotes
& or |AND: must match both
Examples: 'spheal&shiny', '+vulpix&alola'
Returns Pokémon that match both conditions.
, or ; or :OR: match either one
Examples: '4*,shiny'
Returns Pokémon that match at least one condition.
!NOT: exclude matches
Examples: '!shiny', '!bulbasaur'
Must be placed directly before the phrase (no space). Returns everything that doesn't match.
Examples: '0*,1*,2*', 'meowth,alola&vulpix,Galar'
You can chain & and , as many times as you want. When both are used, commas are always evaluated inside ampersands.

Saving Searches

Don't want to retype your favorite search every time? Save it.

  • Tap "see more" in the search bar to see your four most recent searches.
  • Long-press a recent search to save it to your favorites.
  • Long-press a saved search to rename or delete it. You can't search by the saved name though, it's just a label.
  • Pro tip: use your phone's text replacement feature to create shortcuts for your most-used search strings.

Shortcut Phrases

Some phrases are secretly shortcuts for range searches, which can cause unexpected behavior.

  • These shortcuts look like regular phrases but internally expand to a range. This means typing extra text after them gets ignored, and using @ before them doesn't search for moves.
  • Current shortcuts: 'Mega' = 'Mega0-', 'count' = 'count2-', 'dynamax' = 'dynamax1-', 'gigantamax' = 'gigantamax1-'.
  • This causes problems when searching for Meganium, @Mega Horn, @Counter, or @Dynamax Cannon. Tags starting with these words (without #) are also affected.

Good to Know

A few extra things worth knowing about how search works in Pokémon GO.

  • When you tap multiple clickable filters, they're combined with & (AND).
  • Every clickable filter corresponds to a search phrase you can type manually.
  • Incubating eggs count toward your total Pokémon count, but they never appear in search results.
  • The 'Select All' button only appears when your search filters out at least some of your storage.
  • Watch your syntax! Badly formatted searches can return weird or misleading results.

Friends Phrases

Search Phrases

You can also search your friends list! Here's how.

PhraseWhat it doesNotes
[name]Find friends by name or nicknameAutocompletes as you type.
interactableFriends you haven't interacted with todayThese are the ones without the blue glow around their avatar.
giftableFriends you can send a gift toThe gift-opening day resets based on the opener's local time.
luckyLucky friends
friendlevel[N]Friends at a specific friendship level
Examples: 'friendlevel4', 'friendlevel2-3'
0 = never interacted. 1/2/3/4/5 = Good/Great/Ultra/Best/Forever Friends.

Combining Searches

  • You can use the same &, , and ! operators as in storage search.

Pokédex Phrases

Search Phrases

The Pokédex has its own search, but it's more limited. Results depend on which dex tab you have open.

PhraseWhat it doesNotes
[name]Search by Pokémon name
Examples: 'Bidoof', 'pix', 'z'
Unlike storage search, you can match anywhere in the name, not just the beginning.
[N]Search by dex number
Examples: '1', '151'
Exact numbers only. Ranges don't work here.
[type]Search by typeAll 18 types: grass, water, fire, ground, ice, steel, fairy, electric, flying, poison, ghost, dark, normal, bug, rock, fighting, dragon, and psychic.
Caught/Seen filtersNo search phrases for these, but you can tap the filter buttons. 'Caught' shows registered species, 'Seen' shows Pokémon you've spotted in gyms or the wild but haven't caught.

Pokédex Quirks

Pokédex search works differently from storage search in a few important ways.

  • No &, comma, or ! operators. You can only search one thing at a time.
  • Number searches are exact only. No ranges.
  • Spaces matter! ' seel ' (with spaces) works in storage but fails in the Pokédex.
  • Searches only check the base form. 'dark' won't find Alolan Meowth, and in the Mega dex, 'dark' won't find Mega Gyarados either.
  • Name search matches anywhere in the name, not just the beginning.
  • Unlike storage search, no phrase type takes priority over another.

Credits

This data was lovingly put together by Tobias Dalton (Leidwesen), a fellow Trainer with a passion for math, computer science, and Pokémon GO. Check out the original source on GitHub