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 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.
| Phrase | What it does | Notes |
|---|---|---|
| [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.
| Phrase | What it does | Notes |
|---|---|---|
| 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]defense | Filter 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.
| Phrase | What it does | Notes |
|---|---|---|
| [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 gender | Options: Male, Female, Genderunknown. |
| [size] | Filter by size | Options: 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.
| Phrase | What it does | Notes |
|---|---|---|
| costume | Pokémon wearing event costumes | These are Pokémon caught during special events with unique outfits. |
| [location_card] | Pokémon with a special catch card | Use 'locationbackground' for in-person events, 'specialbackground' for global events, or 'background' for both. |
| eggsonly | Baby Pokémon | Species that are typically only available from eggs. |
| [keyword] | Filter by special status | Works with: legendary, mythical, ultrabeast, shadow, purified, shiny, lucky, dynamax, and gigantamax. You can also type 'Ultra Beasts' (with a space). |
| defender | Currently in a gym | Doesn't include Pokémon defending Power Spots. There's no search for those yet. |
| favorite | Your favorited Pokémon | The ones you've starred. 'favourite' works too. |
| candyxl | Powered up past level 40 | Doesn't count Best Buddy boost, only actual XL candy power-ups. |
| party | Caught during a Party | Only works for Pokémon caught after Nov 1, 2023. Covers all encounter types. |
| hypertraining | Currently being Hyper Trained | Only shows Pokémon actively in Hyper Training, not ones that have already finished. |
| maxmove1- | Eligible for Max Battles | Catches everything that can enter Max Battles: Dynamax, Gigantamax, Crowned Zacian, Crowned Zamazenta, and Eternatus. |
| 249-250&shadow,purified&research | Apex Lugia and Ho-Oh | A 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.
| Phrase | What it does | Notes |
|---|---|---|
| raid | From raids | Covers all raid types. Only works for Pokémon caught after Oct 28, 2020. |
| [raid_type] | From specific raid types | Options: 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'. |
| hatched | Hatched from eggs | Only works for Pokémon hatched after around July 17, 2017. |
| research | From research tasks | Covers field, timed, breakthrough, special, collection challenges, and social encounters (party play, weekly challenge). Only goes back to Oct 28, 2020. |
| gbl | From GO Battle League | Only goes back to around Oct 28, 2020. |
| rocket | From Team GO Rocket | Covers 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. |
| snapshot | From photobombs | Goes back to around Oct 28, 2020. |
| traded | Received from trades | These will also appear under whatever encounter type they were originally caught with. |
| Caught in the wild | No 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.
| Phrase | What it does | Notes |
|---|---|---|
| evolve | Ready to evolve right now | Checks candy, items, and gender requirements. Also checks buddy walking quests, but ignores other quest types. |
| evolvenew | Can evolve into something new for your dex | Only looks at direct evolutions with an unregistered dex entry (including Mega dex). |
| megaevolve | Has enough energy to Mega Evolve | Checks each Pokémon's current Mega Energy. Won't show your currently active Mega. |
| item | Needs an evolution item | Only shows Pokémon that also have enough candy and the required item. |
| tradeevolve | Has a free trade evolution | Pokémon that evolve for free if received in a trade. Doesn't include their pre-evolutions. |
| evolvequest | Has a buddy evolution task | Pokémon with special buddy quest requirements to evolve (like walking 10 km or earning hearts). |
| fusion | Can fuse with another Pokémon | Currently 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.
| Phrase | What it does | Notes |
|---|---|---|
| @[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. |
| @special | Has a move that requires an Elite TM | Includes Elite TM exclusives, true legacy moves, Frustration, and Return. |
| @weather | Has 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. |
| !@mov | Has 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. |
| adventureeffect | Has moves with Adventure Effects | Unlike 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.
| Phrase | What it does | Notes |
|---|---|---|
| [tag] | Pokémon with a specific tag | Heads 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.
| Phrase | What it does | Notes |
|---|---|---|
| & 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.
| Phrase | What it does | Notes |
|---|---|---|
| [name] | Find friends by name or nickname | Autocompletes as you type. |
| interactable | Friends you haven't interacted with today | These are the ones without the blue glow around their avatar. |
| giftable | Friends you can send a gift to | The gift-opening day resets based on the opener's local time. |
| lucky | Lucky 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.
| Phrase | What it does | Notes |
|---|---|---|
| [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 type | All 18 types: grass, water, fire, ground, ice, steel, fairy, electric, flying, poison, ghost, dark, normal, bug, rock, fighting, dragon, and psychic. |
| Caught/Seen filters | No 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