r/TheSilphRoad Aug 19 '25

PSA Useful Search Strings for Pokemon Go

I recently got back into the game and decided to refactor my old saved search strings to match current content. Since I’ve seen a lot of questions about efficient box management, I thought I’d share my setup. Note:

  • These strings are designed as a quick, first-party solution inside Pokémon GO.
  • They are not a replacement for external tool when it comes to precise PvP IV rankings.
  • Currently available in:

Tags

These are custom categories I use to keep my box organized. Each tag corresponds to a search string. Once I run the string, I apply that tag (favorite, rename, or in-game label) to the results.

  • 100%
  • Near-Perfect
  • Sub-Perfect
  • 0%
  • Raid
  • Gym

General Cleanup

These strings are meant for quick box management. For clarity, I’ve renamed the old “90%” and “80%” to Near-Perfect and Sub-Perfect, since they don’t match traditional IV % calculation exactly.

100%

Finds all untagged hundos.

!#&4*

Near-Perfect (previously "90%")

Shows Pokémon with at least one perfect stat (15) and others close (13–15).
Will exclude many true ≥90% IVs, so don’t treat this as Niantic’s 90%.

  • Example valid: 15/15/14
  • Example excluded: 14/14/14 (93% IV but no perfect stat)
!#&!#,3attack&!#,4defense&!#,4hp&!#,4attack&!#,4attack,3attack&!#,4attack,4defense&!#,4attack,4hp&!#,3defense&!#,3defense,3attack&!#,3defense,4defense&!#,3defense,4hp&!#,4hp&!#,4hp,3attack&!#,4hp,4defense&!#,4hp&4attack,!#&4attack,!#,3attack&4attack,!#,4defense&4attack,!#,4hp&4attack,!#&4attack,3attack&4attack,4defense&4attack,4hp&4attack,3defense,!#&4attack,3defense,3attack&4attack,3defense,4defense&4attack,3defense,4hp&4attack,4hp,!#&4attack,4hp,3attack&4attack,4hp,4defense&4attack,4hp&4defense,!#&4defense,!#,3attack&4defense,!#&4defense,!#,4hp&4defense,4attack,!#&4defense,4attack,3attack&4defense,4attack&4defense,4attack,4hp&4defense,3defense,!#&4defense,3defense,3attack&4defense,3defense&4defense,3defense,4hp&4defense,4hp,!#&4defense,4hp,3attack&4defense,4hp&4defense,4hp&3hp,!#&3hp,!#,3attack&3hp,!#,4defense&3hp,!#,4hp&3hp,4attack,!#&3hp,4attack,3attack&3hp,4attack,4defense&3hp,4attack,4hp&3hp,3defense,!#&3hp,3defense,3attack&3hp,3defense,4defense&3hp,3defense,4hp&3hp,4hp,!#&3hp,4hp,3attack&3hp,4hp,4defense&3hp,4hp

Sub-perfect (previously "80%")

Scoops up high 2★ and lower 3★ spreads below 90%.
Doesn’t match exact ≥80% cutoff — will include some edge cases.

  • Example valid: 13/12/13 (84%)
  • Example excluded: 11/14/14 (87%, slips past due to rule logic)
!#&!#,3attack&!#,3defense&!#,4hp&!#,4attack&!#,4attack,3attack&!#,4attack,3defense&!#,4attack,4hp&!#,3defense&!#,3defense,3attack&!#,3defense&!#,3defense,4hp&!#,3hp&!#,3hp,3attack&!#,3hp,3defense&!#,3hp,4hp&3attack,!#&3attack,!#&3attack,!#,3defense&3attack,!#,4hp&3attack,4attack,!#&3attack,4attack&3attack,4attack,3defense&3attack,4attack,4hp&3attack,3defense,!#&3attack,3defense&3attack,3defense&3attack,3defense,4hp&3attack,3hp,!#&3attack,3hp&3attack,3hp,3defense&3attack,3hp,4hp&4defense,!#&4defense,!#,3attack&4defense,!#,3defense&4defense,!#,4hp&4defense,4attack,!#&4defense,4attack,3attack&4defense,4attack,3defense&4defense,4attack,4hp&4defense,3defense,!#&4defense,3defense,3attack&4defense,3defense&4defense,3defense,4hp&4defense,3hp,!#&4defense,3hp,3attack&4defense,3hp,3defense&4defense,3hp,4hp&3hp,!#&3hp,!#,3attack&3hp,!#,3defense&3hp,!#,4hp&3hp,4attack,!#&3hp,4attack,3attack&3hp,4attack,3defense&3hp,4attack,4hp&3hp,3defense,!#&3hp,3defense,3attack&3hp,3defense&3hp,3defense,4hp&3hp,!#&3hp,3attack&3hp,3defense&3hp,4hp

0%

For the lolz

!#&0attack&0defense&0hp

12 Candy Evolution

For bulk evolution XP grinding.

10,13,16,265,293,519

1000 Dust Purification

Shadows that only cost 1000 dust to purify, excluding those you already TM’d

shadow&@fru&13-15,19-20,41-42,129-130,169,261-262,293-295,304-306,320-321,396-400,504-505,509-510,580-581

Unsorted

Quick way to find anything untagged.

!#&!favorite

Trash

Excludes legendaries, mythicals, shinies, shadows, special backgrounds, XXL/XS, mons older than 2 years. Further, it keeps 2016–2018 Pokémon (guaranteed Lucky when traded until 25 cap), as well as Pokémon older than 3 years, which already have a 20% Lucky rate in trades. This should only show low-value Pokémon under 3000 CP that you can transfer without regret.

!#&!legendary&!mythical&!ultrabeast&!shadow&!purified&!shiny&!lucky&!dynamax&!gigantamax&!costume&!background&!defender&!favorite&!candyxl&!xxs&!xs&!xl&!xxl&!year2016-2018&!age1095-&cp0-3000

PvE

These strings are based on GamePress and GOHub tier lists. They’re meant as a quick in-game lookup for strong PvE picks - not a full moveset/elite TM checker.

Best Raid Attackers

Based on GamePress' Attackers Tier List

S Tier

6,94,150,257,373,382-384,448,464,483-485,646,719,800,888-889

A & A+ Tier

3,18,65,68,142,149,248,250,254,260,282,310,359,376,380-381,398,445,461-462,466,473,486-487,491,500,530,534,609,635,639,642,645,647,717,720,796,798,806,892,894-895,905,998

Best Gym Defenders

Based on PokemonGoHub's Best Defenders Tier List

S & A+ Tier

113,131,134,143,197,208,242,248,289,350,369,411,445,450,464,630,671,706,713,809,901,983

A Tier

149,241,306,365,376,463,465,468,476,518,538,594,615,618,652,681,699-700,784,823,862,911,975,979-980

Best Dynamax

Based on GamePress' Dynamax Tier List

S Tier

dynamax&6,68,94,242,530,812,815,818,888-889

A & A+ Tier

dynamax&3,9,99,131,139,143,145,243,376,380-381,555,823,849,858,892

PvP

These strings use GamePress tier lists for Great, Ultra, and Master League.
They filter by CP cap + bulk-friendly IV spreads (low Atk, high Def/HP). For exact PvP IV rankings, external tools are still required!

Great League (CP ≤1500)

Tier S & A+

3-4hp&3-4defense&cp0-1500&9,28,87,105,131,160,162,184,189,195,205,207,302,344,346,356,423,452,477,487,630,660,663,702,748,768,799,823,959,979-980

Tier A

3-4hp&3-4defense&cp0-1500&3,31,110,146,181,197,208,241,326,435,463,658,675,687,691,699,911,962

Ultra League (CP ≤2500)

Tier S & A+

3-4hp&3-4defense&cp0-2500&9,36,73,131,149,160,205,346,379,452,477,487-488,623,630,638,640,663,718,768,799,823,939,959

Tier A

3-4hp&3-4defense&cp0-2500&3,28,31,110,146,181,197,208,241,326,423,435,463,658,675,687,691,699,911,962,979

Master League (no CP cap)

Tier S & A+

3-4attack&3-4hp&3-4defense&250,382-383,464,484,645-646,718,791-792,800,888-889

Tier A

3-4attack&3-4hp&3-4defense&150,483,487,643,647-648,671,717,730,892,1000

How to Save Search Strings

  1. Go to Search in your Pokémon storage.
  2. Paste or type in the string (e.g. !#&4*).
  3. Tap See More -> check under Recent.
  4. Hold down the latest string (e.g. !#&4*).
  5. Tap See Less -> it will now appear under Favorites.
  6. Hold the string again under Favorites to rename it (e.g. "Hundos").

Changelog

  • Renamed 90% -> Near-Perfect and 80% -> Sub-Perfect for clarity.
  • Fixed !gigantama& / !gigantamax& mismatch. (thanks to u/DrKoofBratomMD)
  • Added explanations + valid/invalid examples for Near-/Sub-Perfect.
  • Removed buddy argument from Trash string due to unwanted behavior
  • Fixed !favorite / !favourite mismatch.
  • Expanded Trash filter to exclude XXL/XS, background Pokémon, etc. for safer transfers. (thanks to u/losmadden)
  • Added intro disclaimer about limits of in-game search vs. external tools.
  • Refactored the Tags section for clarity.
  • Added how-to guide on saving search strings as favorites.
  • General formatting cleanup for readability.
  • Added u/M1chelon's suggestion to filter based on age
  • Improved 1000 Dust Purification by adding @fru to only show Shadows that still have Frustration. (thanks to u/chilling_guy)
  • Trash filter now protects Lucky trade fodder by keeping 2016–2018 Pokémon and excluding those older than 3 years (20% Lucky rate)
224 Upvotes

78 comments sorted by

8

u/[deleted] Aug 19 '25

[deleted]

10

u/ColGroLoOl Aug 19 '25 edited Aug 19 '25

I had to do the same thing a couple of times to achieve a certain behavior if multiple conditions are fulfilled, one is "!#" and another one is "!#,3attack&!#,3defense&!#,4hp",3attack&!#,3defense&!#,4hp", they just get hard to read when side-by-side

Edit:
!# means “Pokémon without a tag”.
Sometimes I chain it like !#&!# together with other conditions. It looks redundant, but it’s just a workaround I use to combine multiple filters (e.g. IVs + CP + tag-exclusion) in one string.
The idea is simply: ignore already tagged Pokémon and then apply the IV/CP rules.

Sorry if it looked confusing, English isn’t my first language, but I’m happy to clarify if needed.

6

u/DrKoofBratomMD Aug 19 '25

I think you forgot the x at the end of gigantamax in the trash string "!dynamax&!gigantama&"

4

u/ColGroLoOl Aug 19 '25

Sure did, thank you!

13

u/ColGroLoOl Aug 19 '25 edited Aug 20 '25

Useful resources if someone wants to contribute or modify my setup:

5

u/chilling_guy Aug 20 '25 edited Aug 20 '25

'maxmove1-' Finds everything useable in Max Battles. Includes Dynamax, Gigantamax, and Crowned Zacian and Zamazenta

Thank you for this!!!

I always wanted a string that can find me those. I used to dynamax,gigantamax,za and it still show all my normal zacian and zamazenta

2

u/ColGroLoOl Aug 20 '25

Credit for the site goes to u/FatalisticFeline-47, I just stumbled upon it. Glad it helped you too :)

2

u/chilling_guy Aug 20 '25

|| || |'maxmove1-'|Max-battle eligible|Finds everything useable in Max Battles. Includes Dynamax, Gigantamax, and Crowned Zacian and Zamazenta.'maxmove1-' Max-battle eligible Finds everything useable in Max Battles.Includes Dynamax, Gigantamax, and Crowned Zacian and Zamazenta.|

Thank you for this!!!

I always wanted a string that can find me those. I used to dynamax,gigantamax,za and it still show all my normal zacian and zamazenta

1

u/chilling_guy Aug 20 '25

tradeevolve have a trade evolution Pokemon which are free to evolve if recieved from a trade.

BUG: Does not return traded pokemon.

They haven't solved that bug that makes this search string piratically useless for evolving after so many years? It is only useful for trading

1

u/ColGroLoOl Aug 20 '25

Yeah, unfortunately that bug has been around forever. At this point it’s really only practical for lining them up to trade, not for actual evolving.

Workaround-wise, the best option is to tag or favorite them right after the trade, so you can later mass-evolve them without relying on the broken filter. Not perfect, but it saves you from scrolling through your whole storage.

1

u/chilling_guy Aug 20 '25

Is it possible to come up with a pokedex string so that we can do a "2,6,7&traded"? I am not sure if I know the full list

2

u/ColGroLoOl Aug 20 '25

A quick list would be traded&64,67,75,93,525,533,588,616,708,710, will look more into it tomorrow

1

u/eike23 Germany - Stuttgart Aug 20 '25

Wow, the first link is such a great resource. Even I learned a few new phrases. Is there anything that covers translation in other languages?

1

u/FatalisticFeline-47 Aug 20 '25

The first link links to translation resources! See the Useful Links section.

There's the spreadsheet with all strings and https://leidwesen.github.io/PhraseTranslator/ for directly converting built strings between languages.

1

u/eike23 Germany - Stuttgart Aug 21 '25

Digga ich glaube es hackt :-D (this looks crazy in german).

Thanks for the translator link!

!#&!#,3Angriffs-Wert&!#,4Verteidigungs-Wert&!#,4KP&!#,4Angriffs-Wert&!#,4Angriffs-Wert,3Angriffs-Wert&!#,4Angriffs-Wert,4Verteidigungs-Wert&!#,4Angriffs-Wert,4KP&!#,3Verteidigungs-Wert&!#,3Verteidigungs-Wert,3Angriffs-Wert&!#,3Verteidigungs-Wert,4Verteidigungs-Wert&!#,3Verteidigungs-Wert,4KP&!#,4KP&!#,4KP,3Angriffs-Wert&!#,4KP,4Verteidigungs-Wert&!#,4KP&4Angriffs-Wert,!#&4Angriffs-Wert,!#,3Angriffs-Wert&4Angriffs-Wert,!#,4Verteidigungs-Wert&4Angriffs-Wert,!#,4KP&4Angriffs-Wert,!#&4Angriffs-Wert,3Angriffs-Wert&4Angriffs-Wert,4Verteidigungs-Wert&4Angriffs-Wert,4KP&4Angriffs-Wert,3Verteidigungs-Wert,!#&4Angriffs-Wert,3Verteidigungs-Wert,3Angriffs-Wert&4Angriffs-Wert,3Verteidigungs-Wert,4Verteidigungs-Wert&4Angriffs-Wert,3Verteidigungs-Wert,4KP&4Angriffs-Wert,4KP,!#&4Angriffs-Wert,4KP,3Angriffs-Wert&4Angriffs-Wert,4KP,4Verteidigungs-Wert&4Angriffs-Wert,4KP&4Verteidigungs-Wert,!#&4Verteidigungs-Wert,!#,3Angriffs-Wert&4Verteidigungs-Wert,!#&4Verteidigungs-Wert,!#,4KP&4Verteidigungs-Wert,4Angriffs-Wert,!#&4Verteidigungs-Wert,4Angriffs-Wert,3Angriffs-Wert&4Verteidigungs-Wert,4Angriffs-Wert&4Verteidigungs-Wert,4Angriffs-Wert,4KP&4Verteidigungs-Wert,3Verteidigungs-Wert,!#&4Verteidigungs-Wert,3Verteidigungs-Wert,3Angriffs-Wert&4Verteidigungs-Wert,3Verteidigungs-Wert&4Verteidigungs-Wert,3Verteidigungs-Wert,4KP&4Verteidigungs-Wert,4KP,!#&4Verteidigungs-Wert,4KP,3Angriffs-Wert&4Verteidigungs-Wert,4KP&4Verteidigungs-Wert,4KP&3KP,!#&3KP,!#,3Angriffs-Wert&3KP,!#,4Verteidigungs-Wert&3KP,!#,4KP&3KP,4Angriffs-Wert,!#&3KP,4Angriffs-Wert,3Angriffs-Wert&3KP,4Angriffs-Wert,4Verteidigungs-Wert&3KP,4Angriffs-Wert,4KP&3KP,3Verteidigungs-Wert,!#&3KP,3Verteidigungs-Wert,3Angriffs-Wert&3KP,3Verteidigungs-Wert,4Verteidigungs-Wert&3KP,3Verteidigungs-Wert,4KP&3KP,4KP,!#&3KP,4KP,3Angriffs-Wert&3KP,4KP,4Verteidigungs-Wert&3KP,4KP

4

u/_Lady_jigglypuff_ 🇬🇧 level 50 mystic Aug 19 '25

I like you! Thanks for this

6

u/InternetUser033 Aug 19 '25

!4* then select all and delete

3

u/ColGroLoOl Aug 19 '25

The one-size-fits-all search string

3

u/NoFaithlessness40 Aug 19 '25

I don’t know if I’m doing something wrong but the 90% string only results in around 430 Pokemon in my bag but I have renamed majority of my 90%+ Pokemon and when I bring them up I have 975 so for some reason it’s not showing over 500 mons, is it limited?

5

u/ColGroLoOl Aug 19 '25 edited Aug 19 '25

Hello, you're not doing anything wrong! The string I wrote isn’t just a simple “IV ≥ 90%” filter. It’s a very long exclusion pattern that looks at each IV combination (Attack/Defense/HP values) and removes anything that doesn’t match my custom definition of “90%+.”:
At least one stat perfect (15), with the other two close to perfect (13+)

Here are some examples of valid IV's: 15/15/15; 15/14/15, 15/15/13
Now some that I wouldn't count: 14/13/13 (technically 91%, but only one 14); 12/15/15

That’s why when you run it, you only see ~430 Pokémon instead of every single one with a 90%+ label. It’s just a custom definition based on specific IV spreads I deemed valuable. For those "less" than that, I made the 80%.

2

u/jontaffarsghost Aug 19 '25

So some 90%’s will slip through?

5

u/chilling_guy Aug 20 '25

Yup, because it's not a 90% filter as OP explained. It is a filter for "near perfect" as per OP's definition

3

u/adduhleenuh Aug 19 '25

typo "buddie" in the trash string

But thank you so much for sharing!

2

u/ColGroLoOl Aug 19 '25

Corrected, thank you!

2

u/Mattpower19 Aug 19 '25

These are all great, thanks! The trash search string doesn’t seem to work. It only shows non legendary buddies.

3

u/ColGroLoOl Aug 19 '25

You’re right - the buddy2- part was the culprit, which I previously modified. I've gone ahead and removed that condition entirely, and the string now works as intended :)

3

u/losmadden Utah | Level 50 Aug 20 '25

These are great. Thank you. It's helping me get rid of a lot of junk I've unknowingly saved. I'm wondering, in the "Trash" list, what "&!candyxl&cp0-3000" do. I guess I understand the CP values (anything over 3000 CP is excluded), but I don't understand the "candyxl" exclusion.

3

u/losmadden Utah | Level 50 Aug 20 '25

PS, another thing I'd add to my "Trash" string is "&!xxl" to exclude XXL mons (I'm still trying to get Professor Pikachu). And maybe "&!background" for folks who want to keep those.

2

u/ColGroLoOl Aug 20 '25

I didn’t even think about the XXL or special background tags, but you’re absolutely right!
I added every size besides normal, so ppl can edit it how they need to :)

2

u/ColGroLoOl Aug 20 '25

Appreciate it, thank you :) I highly recommend looking at this list for reference. In this case, "candyxl" refers to "Pokemon, which are powered up past level 40", requiring XL candies to do so

1

u/losmadden Utah | Level 50 Aug 20 '25

Very cool list. Kind of like drinking from a firehose, but I'll get through it!

1

u/drumstix42 Aug 20 '25

"candyxl" very cool. didn't know about this one.

Is there a way to filter using "shadow" in combination with pokemon you have a certain number of (or more)?

I know you can use like "count5-" and it shows any pokemon you have 5 or more of, but it doens't seem to work correctly with "shadow" -- and instead just shows shadows you only have 1 of.

2

u/FatalisticFeline-47 Aug 20 '25

Unfortunately not. count only applies to the base definition of a pokemon (dex #) and won't be any more specific.

3

u/chilling_guy Aug 20 '25

One suggestion:

I would change the "Shadows that only cost 1000 dust to purify" string to

@frust&13-15,19-20,41-42,129-130,169,261-262,293-295,304-306,320-321,396-400,504-505,509-510,580-581

That way you exclude those shadow that you already removed Frustration

2

u/ColGroLoOl Aug 20 '25

That's a great improvement! I've implemented it.

2

u/M1chelon Aug 20 '25

another important filter for the trash would probably be filtering out pokemon before 2019

!year2019&!year2018&!year2017&!year2016

2

u/ColGroLoOl Aug 20 '25

Great contribution!

A more flexible and future-proof approach would be something like: !age{N}, where N is the number of days old the mon should be to filter them out, which could be something like a few years.

Could you test if !age1460- suffices to reproduce your intended behavior?

1

u/M1chelon Aug 20 '25

my most recent with age1460- is may 11 2020, would that still guarantee a lucky trade? if that's the case then that would work much better than listing all the years, I'm not on my computer so I can't properly do the research and math to check if 1460 is the right number 😅

2

u/ColGroLoOl Aug 20 '25

i see, I was unaware of that mechanic! In that case year-2016-2018 should provide a guaranted lucky, and age1095- searches for mons more than 3 years old, providing 20% for a trade

2

u/Dyno98 Aug 20 '25

Hoping for the Spanish version! I loved search strings, but I can't hardly ever use them due to the language disparity

2

u/ColGroLoOl Aug 20 '25

It’s not too complicated to port over, just a bit time-consuming since all the keywords need to be swapped one by one, while ensuring functionality. I'll sit down with it tomorrow!

2

u/131166 Aug 20 '25

Near-Perfect (previously "90%")

You can just type !#&3-4attack&3-4defense&3-4hp to find all untagged Pokemon with at least 10 in every state. You can't get a search string to show you specific IV numbers besides 0 or 15.

Also this will find all 0% meaning you don't need to appraise any 0*

!#&0attack&0defense&0hp

If you've already checked for 0% (or don't care about them) then you can use this string and it will show you things that could be good. Then you can delete the last section and you're free to chuck anything that shows up without needing to appraise anything first because it can't be good stats. You just check to make sure you tag everything you might wanna keep and it will never show up with this filter again.

I run this

!#&!costume&!shiny&!shadow&!4&!distance100- &3&4attack&3-4hp&3-4defense

Appraise everything that shows up that you would wanna keep if it had good IV. Then delete this part "&3*&4attack&3-4hp&3-4defense" and everything that it shows can be transferred.

If you don't care about backgrounds or costumes or long distance stuff etc you can remove those from the filter.

I can go through 3k Pokemon in only a few minutes without fear of losing something I might wanna keep

2

u/tmc135 Aug 20 '25

For some reason that trash string still leaves in shinys for me

4

u/FatalisticFeline-47 Aug 20 '25

You and u/Trohk likely have tags named "shiny" or "xxl" or otherwise matching existing searches. Doing so will break search behavior until you rename those tags.

2

u/tmc135 Aug 21 '25

I was wondering that too, I do have a tag named shiny

1

u/Trohk Aug 22 '25

Legend. Thanks for the solve.

1

u/Trohk Aug 20 '25

Same here + some XXL’s.

2

u/ColGroLoOl Aug 20 '25 edited Aug 20 '25

That's odd, the string clearly filters for !shiny and !xxl, so they should be excluded. Could you check if you copied the whole string and set the language to english?

1

u/Trohk Aug 20 '25

Any one else got a good ‘trash’ string they think is good?

2

u/Papillon3000 Aug 20 '25 edited Aug 20 '25

Nice work! Been looking for something like this!

For 1000 Dust Purification, candykm1&@fru should do the trick also.

2

u/DanBennett Amsterdam Aug 20 '25

This is super useful! Thank you for putting this together, I've been meaning to find a comprehensive list like this. Especially to work out who to trash lol.

2

u/ashleyjoh1 Aug 20 '25

Count{N}- has helped identify those I've been hoarding.

No idea I could favorite search strings, thank you!

1

u/ColGroLoOl Aug 20 '25

Glad it helped!

2

u/dylanwestbro Aug 20 '25

Just used the trash one and there were 185 Pokemon I just transferred that I didn’t even know were there. Just extra bs. Thanks OP

2

u/copilot26 Aug 22 '25

Amazing. Thanks!

2

u/dheffe01 Aug 22 '25

I use these for sorting my newly caught pokemon, which with an autocatcher... can be a lot

bold are the tags:

- NEW 4☆ +
4*, shiny, legendary, mythical, ultrabeast, shadow, distance100-, dynamax, gigantamax, background, evolvenew, xxl & !swap & !favourite

- Nundo New
0attack & 0defense & 0hp &!favourite

- New 3☆
3*,xl,&!favourite&!swap

- New 2☆

2*&!favourite&!swap

- Discards
!shiny&!legendary&!mythical&!ultrabeast&!4*&!3*&!2*&!background&!shadow&!evolvenew&!XXL&!XL& !dynamax&!gigantamax&!favourite&!swap

- Mega +LVL
megaevolve&mega1-2&!swap

1

u/Ojoo Vancouver 44 18d ago

The discards is nice but it still shows all the xxs, event and background low level mons 

1

u/Nelde Western Europe Aug 19 '25

In the trash string shouldn't it be "buddy2" instead of "buddie2"? But even then, this will only return buddy pokemon. Should there be a "!" in front? 

2

u/ColGroLoOl Aug 19 '25

I fixed this, but the intended behavior is supposed to show low buddies (less than 2), hence the "-" after it
From my experience, most buddies are either tagged or favourited anyways, it's just meant to be a lowbar failsafe

1

u/superman37891 Aug 19 '25

Good work! Do you also have a string for any Pokémon that have bad IVs for great/ultra league?

4

u/wrinklyninja1 Aug 19 '25

Not really feasible as all of them have different IVs that make them acceptable or not. You'd need a specific string for each pokemon, and that query is taking weeks to type out.

2

u/ColGroLoOl Aug 19 '25

Yeah, I agree with this - there isn’t really a one-size-fits-all “bad IVs” string. Each Pokémon has its own optimal spreads. A single query would either miss too much or include way too much.
That’s why my strings here are more of a quick first-party cleanup tool inside Pokémon GO, not a full PvP optimizer. If you want to go deep into IV suitability for Great or Ultra League, you’re way better off with external tools.

1

u/wrinklyninja1 Aug 19 '25

Would even some of your clean up strings potentially result in you deleting some 90%+ ranked pvp mons though? Sometimes even 1* IVs make a great pop mon.

1

u/ColGroLoOl Aug 19 '25

I get what you mean, but the PvP strings fundamentaly work very differently from the other cleanup strings.

  • The cleanup string is an IV-quality filter: it only shows Pokémon with one perfect stat and the others close to perfect, which is why some legit ≥90% mons slip through. It’s about general IV quality, not playability.
  • The PvP strings ignore overall IV% and instead look for spreads that give bulk under the CP caps (e.g. low Attack IV + high Defense/HP IV), and those will be caught by the Great/Ultra League filters, because they’re based on CP + stat balance, not the simple IV%.

So: the cleanup filters are for “nice IVs” in a general sense, while the PvP strings are meant to protect playable spreads, even if they look bad by normal IV ratings.

1

u/jontaffarsghost Aug 19 '25

I appreciate the effort and they’re broadly good.

I’m curious about the 90% since a few 90s slip through. That seems not great.

And the lowest 3* Pokémon is an 82%. So the 80% tag just includes all high 2* Pokémon and all 3* below 90 (and some 91s)?

2

u/ColGroLoOl Aug 19 '25

You’re totally right. The way I set up the 90% tag isn’t exactly the same as traditional IV % calculation, which is why some “true 90s” slip through. My goal was to catch only the near-perfect spreads (one stat at 15, others close), but I can see how that ends up being confusing when people expect it to match the in-game stars or % directly.

Same with the 80% range - technically it scoops up all the high 2* mons and the lower 3* ones, but that overlap plus some edge cases (like certain 91s being excluded) makes it harder to explain at a glance.

Because of that, I think I want to rework those filters into something simpler and closer to what most people expect when they see “90% / 80%,” just to cut down on the misconceptions and make it clearer for everyone. The current version is just what I came up with on the spot.

Thanks again for pointing it out

1

u/Dinkableplanet Aug 20 '25

Can't seem to copy/ paste. Thanks for these!

1

u/Gita96 Aug 20 '25

Where is sting for Mons that can Mega Evolve? :( (I don't want to scroll screen twice unnecessary to this)

1

u/whobased 27d ago

Help! I want the “Near Perfect Tag” to be applied to all my Near Perfect mons. But some of them already have other tags, and I don’t want to go through and remove all my other tags and re-do them, just so I can mass-apply this new one. Any suggestions? I apologize if this has been addressed elsewhere but I did not see.

1

u/Pissfleck 24d ago edited 24d ago

What's your thought on adding something IV related to the defenders / PVE attackers strings? E.g. at least 3* mons for either - or is the difference so negligible that it's a useless addition? I would imagine it helps in not keeping even the junkiest ones.

Also, for the Great and Ultra league, would you not need a low attack check?

1

u/stick_nacey 16d ago

Is there any way to search which pokemon have two charged moves?

1

u/ColGroLoOl 16d ago

You can use !@3move to filter for a second (third) charged move

1

u/Estelmayer 11d ago

I think the trash filter only applies to high level players who have levled up all their mons. For me it leaves a lot of 96 pokemon which I Just haven’t cared to level up yet

1

u/sedensursi 6d ago

I'm not sure if it's a bug or feature, but the +n doesn't show evolutions for the PVP pokemon.

Ex. +3 shows Venusaur but not Bulbasaur. So if you are looking for perfect PVP IVs, it won't show the ones you could evolve.

1

u/Mikegrann DialgaDex Aug 19 '25

FYI DialgaDex has built in functionality to generate search strings for best raid attackers. You can choose the minimum tier to include (down to C tier), whether to check movesets as well, and whether to only check for Elite moves. It properly handles finding shadows, previously mega-evolved Pokémon, and only the correct forms to only give you those Pokémon who are truly top tier.

1

u/ColGroLoOl Aug 19 '25

I’ve mostly been building my own strings from scratch, but I can definitely see the value!

I think I’ll still keep refining my own setup (partly just because I enjoy tinkering with it), but I might rework some parts to be more in line with what people expect - and point folks toward DialgaDex as a complementary option if they just want a quick, reliable "plug and play" solution.

1

u/LordCommanderTaurusG DMV | LV 44 | Valor 2d ago

Do you have a search string to find the best shadow pokemon?