The Wanderlust API · v1
Travel data that ships.
1,300+ cities. 190+ countries. Safety, cost, internet, rankings — as JSON. The same data behind wanderlustapp.io, for your app, your AI agent or your spreadsheet.
Free tier · No credit card · Rate-limited, not bait-and-switch
{
"object": "country",
"data": {
"@id": "https://www.wanderlustapp.io/api/public/v1/countries/portugal",
"slug": "portugal",
"name": "Portugal",
"official_name": "Portuguese Republic",
"alpha2_code": "PT",
"alpha3_code": "PRT",
"continent": "Europe",
"region": "Southern Europe",
"capital": "Lisbon",
"population": 10300000,
"area_sq_km": 92090,
"currency": "EUR",
"languages": ["Portuguese"],
"timezones": ["UTC", "UTC-01:00"],
"calling_code": "+351",
"emoji": "🇵🇹"
}
}Get going
Your first request.
Step 02
Set a header
Send Authorization: Bearer wl_live_… (or X-Api-Key) with your requests.
Step 03
Call any endpoint
That's the whole on-boarding. Welcome aboard.
curl https://www.wanderlustapp.io/api/public/v1/search?q=lisbon \
-H "Authorization: Bearer $WL_API_KEY"What you get
A travel API that's actually pleasant to integrate.
Cities, scored
Overall, safety, cost, leisure, internet, and air-quality scores for 1,300+ cities — the same city records behind wanderlustapp.io. The city endpoints need no key.
Countries, referenced
Capitals, currencies, languages, calling codes, ISO codes, regions, borders, and timezones for 190+ countries.
Search you can ship
One endpoint searches cities and countries together — made for an autocomplete box.
Teams, first-class
Organizations with owner/admin/developer/viewer roles, email invites, team-owned keys, and a shared usage dashboard.
Built for AI agents
A stable canonical @id on every row and a quote-ready summary sentence on every city, so retrievers cache cleanly and agents cite correctly.
Honest rate limits
Per-key, per-minute. Every keyed response tells you the limit, what's left, and when it resets.
Versioned forever
Everything lives under /v1. We add — we don't break. Breaking changes ship as /v2 or never.
Usage you can see
Per-day request and error charts, per-key and per-endpoint breakdowns, and success rate — all in your team dashboard.
For teams
Invite your team in under a minute.
Create an organization, invite teammates by email, and share API keys without sharing passwords. Every member gets a role that fits — from full-access owner to read-only viewer.
- Role-based access control
- Email invitations with 14-day expiry
- Team-owned API keys
- Shared usage dashboard, up to 90 days
- Revoke keys when teammates leave
- Per-key request & error breakdowns
Acme Inc
Members · 4
- ownerML
Maya Lindgren
maya@acme.io
- adminJK
Jaehyun Kim
jae@acme.io
- developerNS
Noor Saleh
noor@acme.io
- viewerRB
Ravi Bhatt
ravi@acme.io
What itWho's building on itapos;s for
Travel data, in any shape.
Travel apps
Drop our city database into your itinerary planner or trip-tracker.
AI agents
Ground LLM responses with citable, dated travel facts.
Newsrooms
Pull country statistics and city rankings for editorial pieces.
Relocation tools
Power 'where should I move?' calculators with real cost and safety data.
Pricing
Start free, grow up cleanly.
01 / Free
Free
Everything you need to prototype an integration. No credit card. No clock.
- 30 requests / minute
- 10,000 requests / month
- All read endpoints
- Personal keys and team workspaces
- Support by email
02 / Pro
Pro
For production apps that need more headroom than the free tier.
- 120 requests / minute
- 250,000 requests / month
- Everything in Free
- Self-serve billing through Stripe
03 / Business
Business
Volume tier for travel platforms, AI agents, and embedded experiences.
- 600 requests / minute
- 5,000,000 requests / month
- Everything in Pro
- Set up with us directly
All plans include all read endpoints. Limits enforced per minute, per key.
Frequently asked
The short answers.
How do teams work?
Create an organization, invite teammates by email, and assign roles (owner, admin, developer, viewer). Team-owned API keys are shared across the org, and a key you create on a team takes the team's plan. Only the owner manages billing.
Is the free tier rate-limited into uselessness?
No. 30 requests a minute and 10,000 a month — plenty for prototypes, side projects and small apps. The city endpoints need no key, so they don't count against it.
Can I use it from the browser?
The city endpoints, yes — they need no key and allow any origin. Call the keyed endpoints (countries, search, /me) from your backend: a key in a public client is a key anyone can copy.
Do you commit to backwards compatibility?
Yes. v1 endpoints are additive-only. We will never remove a field or change its type within v1. Breaking changes ship as v2.
How fresh is the data?
Every city row carries a last_updated timestamp. City content is refreshed on a rolling cycle of about six months, and a stale city that people are viewing gets queued sooner.
Can I redistribute the data?
You can build products on top of it. Don't republish the bulk dataset as a competing API — if you're not sure where your use falls, ask us.
What about webhooks and write endpoints?
Webhooks are live for team events — invites, members, keys, quota warnings and subscription changes — signed with HMAC. The data API is read-only; tell us on the contact page if you need to write.
The whole world, one curl away
Start building. It's free.
Generate a key, paste it into your editor, and ship the integration this afternoon.
The same dataset, rendered
Every ranking and city page on the public site is built from the same city records the API serves — browse them to see the field coverage for yourself.