Search Atlas Obscura for weird, wonderful, and hidden gem places near any destination. Find the interesting stuff, not boring plaques. Search by coordinates, get full details with descriptions and images.
Find genuinely interesting hidden gems near any destination via Atlas Obscura. Searches by coordinates, scores places for interestingness, and filters out mundane historical markers.
No API key needed. Uses the atlas-obscura-api npm scraper.
Install dependencies (one time):
cd skills/atlas-obscura && npm install
Common cities for trip planning. Use these with the search commands.
| City | Lat | Lng |
|---|---|---|
| New York | 40.7128 | -74.0060 |
| London | 51.5074 |
| -0.1278 |
| Paris | 48.8566 | 2.3522 |
| Tokyo | 35.6762 | 139.6503 |
| Bangkok | 13.7563 | 100.5018 |
| Rome | 41.9028 | 12.4964 |
| Barcelona | 41.3874 | 2.1686 |
| Istanbul | 41.0082 | 28.9784 |
| Mexico City | 19.4326 | -99.1332 |
| Lisbon | 38.7223 | -9.1393 |
| Seoul | 37.5665 | 126.9780 |
| Oslo | 59.9139 | 10.7522 |
| Copenhagen | 55.6761 | 12.5683 |
| Stockholm | 59.3293 | 18.0686 |
All commands run from the repo root. Output is JSON. Image URLs are excluded by default to keep output lean. Add --images to any command when you need them (e.g. generating HTML pages).
Finds places near coordinates, fetches full details, scores for interestingness, and filters out boring stuff. Slower (fetches each place) but gives you the good stuff.
node skills/atlas-obscura/ao.mjs search <lat> <lng>
Example:
node skills/atlas-obscura/ao.mjs search 35.6762 139.6503
Returns up to 20 places sorted by interest score. Each has full description, tags, and directions.
Timeout note: This makes ~20 HTTP requests (one per place). Allow 30-60 seconds.
Fast nearby search. Returns title, subtitle, coordinates, distance. No detail fetching or scoring.
node skills/atlas-obscura/ao.mjs quick <lat> <lng>
Same as filtered search but keeps everything, including boring plaques.
node skills/atlas-obscura/ao.mjs search <lat> <lng> --all
Get complete information for a specific place by ID.
node skills/atlas-obscura/ao.mjs place <id>
Returns: title, subtitle, full description (multi-paragraph), directions, tags, nearby places, interest score.
Quick place lookup without the full scrape. One request.
node skills/atlas-obscura/ao.mjs short <id>
Add --images to any command to include thumbnail and image URLs in the output. Useful when generating HTML pages or visual reports.
node skills/atlas-obscura/ao.mjs search <lat> <lng> --images
node skills/atlas-obscura/ao.mjs place <id> --images
Places are scored based on:
Bonus points for: Abandoned, Ruins, Ghost Towns, Underground, Caves, Natural Wonders, Unusual Collections, Street Art, Museums, Markets, Hot Springs, Waterfalls, Breweries, Gardens, Islands, Art, Sculpture, Murals. Also: rich descriptions, multiple images.
Penalties for: Plaques, Historical Markers, Monuments, War Memorials, Government Buildings. Also: places marked "gone" or hidden from maps.
Places scoring below 0 are filtered out in the default search.
# Just titles and subtitles
... | jq '.[] | {title, subtitle, tags}'
# Top 5 by interest score
... | jq '[sort_by(-.interest_score) | .[0:5] | .[] | {title, subtitle, interest_score, url}]'
# Places with specific tags
... | jq '[.[] | select(.tags | any(. == "Underground" or . == "Caves"))]'
# Just URLs for browsing
... | jq -r '.[].url'
Load this skill when:
Do not: