NYC Spots
A monthly AI workflow that turns the NYC bars and restaurants I save on TikTok into pins on a Google map.
The problem
I save restaurants and bars on TikTok all the time, then never find them again when I'm deciding where to go. Saves live in a feed, not on a map. Apps exist for this, but they keep your places in their own app instead of Google Maps.
What it does
Once a month I download my TikTok data and run one command. The script:
- Reads every saved video's caption, creator and location tag.
- Has Claude decide whether each video is about a food or drink place in NYC, and pull out the name, neighborhood, type and vibe.
- Looks each place up on Google to get the exact address and map link, and checks it's actually in NYC.
- Writes a file I import into Google My Maps, plus a short list of videos I should check by hand.
It remembers what it has already processed, so each month it only reads new videos and never creates duplicate pins.
Results
The first full run read 270 saved videos and put 88 NYC spots on my map. It flagged 44 videos for a manual look, mostly ones where the creator says the name out loud but never writes it.

What broke and how I fixed it
- Every caption came back blank. My export's links didn't include the creator's username, so TikTok's embed service answered without the caption. I wrote small test scripts to compare six ways of reading a video, then switched to the video page itself, which also gives the location tag.
- A theater ended up on the map. I limited the AI to a fixed list of food and drink types and added a code check that drops anything else.
- The run crashed on one malformed AI answer. I switched to tool use, so Claude fills in a fixed form instead of writing free text. Any batch that still fails is split in half and retried instead of stopping the run.
Built with
Python, the Claude API (Haiku with tool use), the Google Places API and Google My Maps. Built with Claude as my coding partner.
What's next
- Add Instagram saves.
- Catch names that are only spoken in the video, using audio transcription.
- Run automatically each month.