
After grinding out 150 hearts, your now-ultra buddy brings you an innocuous trinket for the first time. What’s that all about? This is what I hope to explain in this post, addressing each souvenir and how to get them, how to do so efficiently, and how this small feature fits well into Niantic’s augmented reality (AR) framework. Some of this information was taken from articles published by the Silph Research Group that are linked in this post. tl;dr at the bottom because this is pretty long.
​
[All 18 souvenirs one can acquire](https://preview.redd.it/4urfuhan70cb1.png?width=2600&format=png&auto=webp&s=f686d8b990ca01baf1fd06ec3f771e20bd1e9496)
​
**How to Acquire Each Souvenir**
Link to infographic: [https://imgur.com/a/3rLk54u](https://imgur.com/a/3rLk54u)
Pokémon will start bringing you gifts starting at great buddy, searchable using “buddy3”, containing potions or berries, then souvenirs starting at ultra buddy, searchable using “buddy4”. Souvenirs are determined and location-tagged based on where you acquire them, not when they are opened. The souvenirs can be classified into **4 major groups**:
​
⚪ Universal
These are available no matter where you acquire them. They have 3 rarity groups here labeled common/uncommon/rare. Common souvenirs are twice as likely to be acquired than uncommon souvenirs, and these are twice as likely as rare ones. Here’s the breakdown:
\_\_\_ 🔴 Common (Flower Fruits, Cactus Fruit, Tropical Flower)
\_\_\_ 🔵 Uncommon (Marble, Mushroom)
\_\_\_ 🟢 Rare (Torn Ticket, Stretchy Spring, Pretty Leaf)
​
🟡 Location
These five souvenirs depend on where you are upon acquisition. This is determined by Google S2 Cells, specifically the level 14 S2 cell. When you acquire the souvenir, the game uses your location and queries a snapshot of Open Street Maps (OSM) for tags within your L14 S2 cell. The resultant tags are then used to determine the pool of possible souvenirs. For instance, if you’re next to a river when you acquire the souvenir, then Skipping Stone would be among the pool of eligible souvenirs with a given weight/probability. Here are the tags which yield the five location souvenirs:
\_\_\_ Lone Earring: “highway=residential”, “amenity=parking” & “landuse=residential”, among several others. The research group also found that having at least one “urban” tag produced a lone earring in all cases.
\_\_\_ Skipping Stone: “waterway=stream”, “waterway=canal”, “natural=water”, “waterway=dock”, “natural=wetland”, “waterway=drain” & “waterway=river” are all confirmed to produce skipping stone.
\_\_\_ Chalky Stone: likely “walking path” tags such as “highway=footway” etc. though this is not 100% confirmed
\_\_\_ Tropical Shell: “natural=coastline”
\_\_\_ Beach Glass: “natural=beach” \[under investigation for other possible candidates; anecdotal reports from trusted sources of acquiring beach glass in cells containing no beach tags\]
​
🟣 Questionable/Unknown (Snowy Pinecone, Small Bouquet)
These two souvenirs are the only two whose acquisition have not yet been fully understood. Trainers all over the world have reported them, so while it is certainly location-based, it is unlikely that it is based on large areas such as hemispheres or similiarly large geographical regions. Take note of cells which yield each one and commit them to memory if you’re interested, as they’re fairly common in my experience.
​
⚫ Event (Confetti, Pika Visor, Paper Airplane)
These three souvenirs were available during past events such as GO Fest. They are generally unavailable. South Korea will feature the Paper Airplane in late July 2023.
​
[A particularly dense query on Randall’s Island Park, NYC](https://preview.redd.it/5yecbgm8jzbb1.png?width=1454&format=png&auto=webp&s=02899c814f9f12f54168e8631715444a4973034a)
​
**Efficient Souvenir Collecting**
First of all, here are some resources to get started with figuring out the whole S2 cell + OSM tag business.
[https://www.pogomap.info](https://www.pogomap.info)
Use PoGoMap to overlay level 14 S2 cells. To do this, navigate to settings, then the visual tab, then S2 cells, and select level 14.
[https://overpass-turbo.eu](https://overpass-turbo.eu)
Next, use Overpass to query a given bounding area for tags. You can get pretty technical about programming on this site, but a simple query to return all tags will be sufficient if you don’t mind the volume of data returned. Just select the bounding area using “manually select box” on the toolbar, plug the following into the text box on the left, and hit Run:
​
/\*
This is a simple map call.
It returns all data in the bounding box.
\*/
\[out:xml\];
(
node({{bbox}});
<;
);
out meta;
​
You can then swap between PoGoMap and Overpass to determine which tags fall within the given level 14 S2 cell.
Now, let’s talk about **chaining**. Typically, you can only obtain 1 souvenir every 48-72 hours, since opening a souvenir gift will reset a counter and you will be unable to get another during that time period. However, if instead of opening the souvenir, you swap to another ultra or best buddy, then that one will also acquire a souvenir. You can do this as many times as you want until you decide to open a souvenir, which will reset the 48-72 hour counter.
There are several pitfalls with this process. The **first** is that ultra and best buddies can also receive **potion/berry gifts**, and these seem identical to souvenir gifts. Because of this, you may accidentally chain potion/berry gifts instead of souvenir gifts. The best way to deal with potion/berry gifts is with a great buddy/buddy3 **”buffer” pokémon**. Potion/berry gifts are on a much shorter timer than souvenirs (\~24 hours). By opening a potion/berry gift, you guarantee that any other gifts you acquire in the next 24 hours will contain a souvenir. The **second** pitfall is the limit of **20 buddy swaps per day**, allowing for at most 21 unique buddies per day, including the starting buddy. This prevents chaining a group of pokémon larger than 21. My recommendation is to always **begin the day with your buddy3 buffer pokémon**, and wait until it receives a potion/berry gift before doing your daily chain. Lastly, the **third pitfall** is that you are unable to reliably know which buddy has already acquired a souvenir without swapping to them without the use of a special tag. For this last pitfall, I have developed a tagging system which I’ll share with you (feedback on this system is very welcome as I have only used it for a few cycles thus far!) I’ll then explain how to use tags effectively as you are chaining.
​
**SvCurrent**: This pokémon is currently holding a souvenir.
**Sv:** This pokémon is a target for souvenirs, i.e. one in the rotation to obtain one. If you want to chain all eligible pokémon, this should be equivalent to “buddy4,buddy5”. Remove when all souvenirs have been obtained so they are no longer populated when chaining.
**SvU:** This pokémon has acquired all universal souvenirs.
**SvQ:** This pokémon has acquired all questionable/unknown souvenirs.
**SvB:** This pokémon has acquired the **B**each glass location-based souvenir.
**SvC:** This pokémon has acquired the **C**halky stone location-based souvenir.
**SvL:** This pokémon has acquired the **L**one earring location-based souvenir.
**SvS:** This pokémon has acquired the **S**kipping stone location-based souvenir.
**SvT:** This pokémon has acquired the **T**ropical shell location-based souvenir.
And optionally:
**Confetti:** This pokémon has acquired the **Confetti** event souvenir.
**PikaVisor:** This pokémon has acquired the **Pika Visor** event souvenir.
**PaperAirplane:** This pokémon has acquired the **Paper Airplane** event souvenir.
**Souvenirs:** A trophy tag for when you have completed a souvenir target.
​
When using the method of buddy3 buffer start + \[chain of 19\] + buddy3 buffer, this limits you to 19 souvenir acquisitions per day, which isn’t very much if you’re traveling to certain target S2 cells to get rarer souvenirs such as beach glass or skipping stone. Using the tag system, it is easy to filter out ineligible targets for a given cell. Here’s how!
​
**Phase 1: Acquisition**
Step 0: Do research on tags in the target level 14 S2 cell you will be visiting that day using PoGoMap and Overpass (linked above.)
Step 1: Make sure that you are within the 24 hour timed window since you last opened a potion/berry gift. I like to load a potion/berry gift into a buffer pokémon the day before I begin so I can open it right before I begin the cycle so there is no guesswork on that 24 hour period.
Step 2: Travel to the target cell.
Step 3: Input the search filter. This will vary depending on the location. Use **Sv&!SvCurrent** always, as this will populate only your souvenir targets and exclude those with souvenirs queued up already. Now, for specific exclusion based on avoiding double souvenirs, we want to exclude a pokémon that is unable to get a new souvenir in the area. This is equivalent to saying NOT(souvenir 1 AND souvenir 2 AND etc.) otherwise known as NAND logic. The search function does not allow for this sort of nested logic (e.g. the ANDs within the NOT) so we can convert this to another compatible form using De Morgan’s Laws: NAND is equivalent to NOT A OR NOT B OR etc. So NOT(souvenir 1 AND souvenir 2) is equivalent to NOT souvenir 1 OR NOT souvenir 2. This is a little unintuitive but it works well for this case, I promise! An example should help. Let’s say the target S2 cell can yield both skipping stone and chalky stone. We should use Sv&!SvCurrent&**!SvU:!SvC:!SvS**. What this means is that if a pokémon is missing at least one of the three given souvenir groups (in this case the universals, chalky stone or skipping stone) then it will not be excluded from the result (because it can get a new souvenir in this cell!) I could rephrase this in several other ways, but just try to remember the form NOT A OR NOT B etc.
Step 4: Cycle through 19 pokémon, waiting for the souvenir gift is visible on the buddy summary screen before swapping to the next.
Step 5: With one swap left, end on a buddy3/buffer pokemon to await the next potion/berry gift. It will be necessary to open this one to start a new chain if you so desire.
Step 6: Cleanup phase. You can access your buddy history from your trainer summary screen and know which buddies were cycled last. Tag each of those with the SvCurrent tag so they will be excluded on the next cycle.
**Phase 1.5: Transition**
Once you’re getting to the end of your eligible souvenir targets for acquisition (use Sv&!SvCurrent to find this list) then you can plan your final acquisition phase or two.
**Phase 2: Opening**
At your leisure:
Step 1: Cycle through each target with Sv&SvCurrent (or just SvCurrent), opening their souvenirs.
Step 2: Once the souvenir gift is opened, look at the souvenir in their buddy screen and see if it is new. This is true if there is only one location and date listed under the image.
Step 3: If the souvenir was new, tag this pokémon accordingly. Remember, only tag universal or questionable if
Step 4: Remove the SvCurrent tag as the pokémon no longer has a souvenir.
Step 5: Repeat until no more pokémon are tagged SvCurrent.
**Phase 3: Refractory Period**
This is the 48-72 hour waiting period before you’re able to acquire a souvenir again. You can take some time to work on new buddies or get right back to souvenir acquisition ASAP. When it’s time to begin a new acquisition phase, just use your buffer to prevent chaining potion/berry gifts instead.
​
​
[Souvenir hunting could look like this someday!](https://preview.redd.it/4gpxbpv6pzbb1.jpg?width=786&format=pjpg&auto=webp&s=d7a3cbaf0a60a80b4f7a6722f29f11fdc22e0e77)
​
**Augmented Reality and Souvenirs**
I just wanted to speak more about how I feel like putting souvenirs on the backburner isn’t what I expect from Niantic and their supposed vision. With only 15 souvenirs available to collect outside of events, and only 5-7 of these being location-dependent, it seems like a severely underutilized feature. OSM has many tags that could be used with the present framework of S2 cells determining the souvenir pool, and making use of more of these to expand the available souvenirs could provide a more natural AR experience.
I can imagine many ways that souvenirs could benefit pokémon who have found them as well. For starters, it could be a cosmetic aspect to specific pokémon, like best buddy ribbons, or they could provide them with a minimal boost to pvp and raids, like the best buddy level boost provides. Each souvenir could help certain types with damage, or help in any manner of ways. Giving trainers incentives to explore new areas seems like a win for this company. Most don’t even know about souvenirs and their mechanics, and most of those who do don’t care that much. We all know that Niantic is pretty bad with game design, so while it isn’t surprising, it’s still unfortunate that souvenirs are so underutilized.
​
**Conclusion & Summary**
Thanks for reading! Here’s a **tl;dr**:
There are 18 souvenirs you can acquire. 3 are event-only, 2 have as-yet unknown methods of acquisition, 5 are definitely location-dependent, and 8 are universal and can be acquired anywhere.
Use PoGoMap for S2 cell mapping and Overpass for OSM tag querying to find location-dependent souvenirs.
Use buddy3 buffers to prevent chaining of potion/berry gifts, and a tag system to manage your targets. I use \[targets\]&!\[has a souvenir\]&!\[universal souvenirs\]:\[other souvenir groups\] in the field.
Niantic, hire (better?) game designers! Kudos on the very interesting implementation of AR using OSM tag data.
​
Edit: Thanks to u/tkcom for letting me know about Paper Airplane and my pal A. for help with NAND logic. I fixed some small errors in the post as well, and some formatting.
Edit 2: Here are some useful links from the Internet Archive’s wayback machine regarding the souvenir research the Silph Research Group has conducted.
[https://web.archive.org/web/20220222112253/https://thesilphroad.com/science/souvenir-survey-lone-earrings/](https://web.archive.org/web/20220222112253/https://thesilphroad.com/science/souvenir-survey-lone-earrings/)
[https://web.archive.org/web/20230202134932/http://thesilphroad.com/science/souvenir-survey-skipping-stones/](https://web.archive.org/web/20230202134932/http://thesilphroad.com/science/souvenir-survey-skipping-stones/)
[https://web.archive.org/web/20230208080100/http://thesilphroad.com/science/souvenir-survey-beach-glass-tropical-shells](https://web.archive.org/web/20230208080100/http://thesilphroad.com/science/souvenir-survey-beach-glass-tropical-shells)
[https://web.archive.org/web/20230208075419/https://thesilphroad.com/science/souvenir-universal-souvenirs](https://web.archive.org/web/20230208075419/https://thesilphroad.com/science/souvenir-universal-souvenirs)
by BrknTrnsmsn
22 Comments
Thanks! This was a super interesting read.
I don’t really care about souvenir, but randomly through time I seem to have gotten majority of them in my 1 year of playing. I did know about chaining and its a decent protip if you’re not near anything to spin and you can get berries, potions, and revives. I haven’t chained 20 in a row. My most was probably in the 7-8 range (I only have 11 best buddies so far).
Thank you for sharing this, though, and I like learning about aspects of the game. I can’t remember which event it was, but there was a research task for getting 3 souvenir from buddies or something and it seemed most people were having a hard time. I ended up just chaining 3 and finished that task in a few hours
I’m still mad that I couldn’t get “paper plane” souvenir for any of my buddies at Singapore’s Air Adventures Safari Zone despite Niantic advertised that buddies are more likely to pick up the souvenir during event and I’ve exhausted all of my buddy switch quota. (It’s also my bad that I didn’t preload souvenir prior to event.)
i think you made it too complicated for a niantic developer to understand
Super useful for tasks to reach Level 48! You need to get 20 souvenirs for that task and I will definitely be referencing this post once I get there!
If you use the wayback machine you can find the OSM tags for souvenirs from research by the SilphRoad research group prior to the site’s demise such as:
[https://web.archive.org/web/20230202134932/http://thesilphroad.com/science/souvenir-survey-skipping-stones/](https://web.archive.org/web/20230202134932/http://thesilphroad.com/science/souvenir-survey-skipping-stones/)
[https://web.archive.org/web/20230208080100/http://thesilphroad.com/science/souvenir-survey-beach-glass-tropical-shells](https://web.archive.org/web/20230208080100/http://thesilphroad.com/science/souvenir-survey-beach-glass-tropical-shells)
Only missing the paper plane and the beach glass. I try to get it every vacation, but the next beach is more than 400km from where I live.
Sad to see the paper plane not released worldwide… one more collection which can not be completed by everyone.
Huh, so all these pinecones I have are actually situational. I live *near* mountains, but not really in anything that feels remotely…pineconey.
I’m collecting souvenir locations (i.e. I try to have them from interesting places) and sadly I can only chain roughly ten at a time, as it seems that the location is always where you open it, not where it’s been picked up. So I am chaining ten pokemon to get the souvenir and then I have to cycle through them again to actually open each present while still at the “cool” location.
That said, I love this feature, and if there wasn’t the restriction on daily swaps I would probably always chain through all my pokemon that can get souvenirs, just because I enjoy seeing what they are getting, and the list of locations attached to each souvenir.
Super detailed breakdown of a feature a large portion of the playerbase probably ignores. Very interesting to better understand the mechanics and it would be nice to see Niantic do something more with souvenirs.
Appreciate your work
I wonder what their goals really were with this. I could see collecting souvenirs being fun if they had an end goal. Maybe if they were visible on your pokemon (like decor in Pikmin Bloom). It would offer 1) a better alternative to costume pokemon and 2) a more laid back and “go outside” focused goal compared to PvP grind. Imagine flexing not a random shiny or costume mon you happened to catch, but a pokemon with decor you had to go FIND. Unfortunately I think Niantic will be spread too thin to develop this further.
Man why is this a post? The buddy items are completely useless, and I’m almost done with the best buddy medal. I don’t even know why they’re in the game.
I’d like to see a buff to purified Return move damage, based on either friendship-companion status (25, 50,75 and 100% dmg) or based on amount of souvenirs you have acquired.
“These two souvenirs are the only two whose acquisition have not yet been fully understood.”
If you are in need of an idea to explore, a possible guess is that the Cone is related to level 14 cells that have hilly/slope terrain (another way to describe this: notably different elevation than nearby cells, at least 20-30 meter difference). Because this used to be one of their spawn mechanisms, spawns were different in such cells and more geared towards “mountain” species.
Great post! I like collecting “achievements” on pokemon that are special to me but I settled for 10 different souvenirs being enough for getting the tag “collector” so definitely not as hardcore as you! ^^
Souvenirs, waste of time. Waste of CPU clocking. Waste of database.
Contributes to lag.
When the game sends notifications, usually you will realize this causes an issue.
Such as, trying to catch a pokemon and it takes forever or runs away. Right after, you get a notification of some sort. Heaven forbid you get a notification during a daily incense galarian bird or a raid boss.
While the souvenir is not an egregious notification it is still causing the game database to do dumb stuff.
As the programmers continue to add stupid stuff to the game, all the spaghetti code will have its revenge.
The problem with the buddy system is it’s too grindy for almost no reward. Gift system gives you lots of XP and items. PVP gives you star dust and items. So those latter two systems take up all my time outside of normal gameplay leaving none for buddy.
The max I got is 13 unique. All but beach glass, snowy pinecone and events. Interestingly, all flower bouquet are from a single location and pretty common though
Take my upvote just for the long and elaborated post (a TL;DR would have been nice though )
Can the same Pokemon get the same souvenir twice?
Thanks for putting this all together. Great read, I really enjoyed it. Much appreciated… 😉
Hey, great read. I am so happy to see another person so interested in the buddy mechanics. They truly are a bizarre addition to the game. You can tell that the person who made souvenirs was truly passionate about their implementation, even if souvenirs fell to the wayside as other parts of the game were developed. Wish it was deeper like your AR suggestion, but still the buddy feature has remained one of my favorites. It’s also great to see all of the souvenir info compiled in one place (makes me wish we had a PoGO wiki). Great work!
IDK if any of the recent map updates have changes souvenir availability, but at least last time I checked the game only considers OSM tags before January 2019. You can add a date filter to your query, but it slows it down and you run the risk of timeouts in dense areas. Would probably be good to mention that the game doesn’t use live OSM data in your post just so people are aware.
​
Just to expand your discussion of location dependent souvenirs, OSM tags results are a bit inconclusive for Chalky Stones (CS), Snowy Pinecones (SP), Small Bouquets (SB), and Lone Earrings (LE). The chalky stone — path connection seemed promising, however I found them in locations without the tag.
It seems like there could be some determining factor (other than OSM) behind these souvenirs. LE seems to be related to urban areas, SP to tree cover, and CS related to Elevation changes. There also appears to be some connection to spawns as this comment suggested:
[https://www.reddit.com/r/TheSilphRoad/comments/14zrei6/comment/js20htb/?utm_source=share&utm_medium=web2x&context=3](https://www.reddit.com/r/TheSilphRoad/comments/14zrei6/comment/js20htb/?utm_source=share&utm_medium=web2x&context=3)
Particularly, I noticed CS near “mountain” spawn points (Rhyhorn and Mankey), SP in “Forest” spawn points (f.e. Seedot, bugs), and SB in “grass” spawn points (“Roselia”). Unfortunately, the seasonal spawns update and revolving event spawns post 2020, have made noticing these relationships more difficult.
It should be noted that location dependent souvenirs are not exclusive, so SB, CS, SP, and LE can all be collected from the same lvl 14 cell. Perhaps a lvl 14 containing one at least of these spawn points is sufficient to determine a souvenirs availability? Containing all 4 spawn point biomes would allow all 4 souvenirs?
​
Love your description of chaining, and the tags are a great idea. You can continue the chaining across multiple days, however, with added difficulty. Easiest is the chain 20 right before midnight and 20 right after midnight (when buddy swaps reset). The most I’ve done is 61, but it has an added difficulty level and diminishing returns on longer chains. Your recommendation of 19-20 is pretty solid for most people, maybe saving multiple day chains for when you are traveling or have limited location access.
​
Finally, good luck getting your BG! It took me ~170 souvenirs to get it from my tiny landlocked beach. There are a few golf course sandpits which mistakenly have the natural=beach tag, that I thought would be fun to look at if I had the time. Given BG’s really low drop rate, it’s hard to tell if it has a uniform rate or if it is more common the larger the natural=beach tag is (or more the beach spawn points).