API
The same legal answers and verified venue data that power this site, available to your own application.
Authentication
Send your key in the X-API-Key header on every request.
curl -H "X-API-Key: camp_your_key_here" \
https://420.camp/api/v1/places?bbox=4.85,52.35,4.95,52.40A key is shown once when you create it and is stored only as a hash — if you lose it, revoke it and issue another.
Rate limits
| Plan | Requests / minute | Records / day |
|---|---|---|
| Free | 10 | 1,000 |
| Pro | 60 | 10,000 |
| Network | 300 | 200,000 |
Two budgets, because a handful of large pages takes as much data as thousands of small ones. Both reset on a rolling window.
GET /places
Venues in an area. Give it a bounding box, a jurisdiction, or a point and radius.
bbox- west,south,east,north — the map viewport
jurisdictionId- all venues in a city, region or country
lat, lng, radiusKm- everything within a distance of a point
type- adult_use_dispensary, private_social_club, coffeeshop, pharmacy…
limit- up to 1000 with an area filter, 50 without
curl -H "X-API-Key: $KEY" \
"https://420.camp/api/v1/places?bbox=4.85,52.35,4.95,52.40&limit=50"GET /places/{slug}
One venue in full: address, hours, products, photos and its verification state.
curl -H "X-API-Key: $KEY" \
"https://420.camp/api/v1/places/wonderland-bangkok-bangkok"GET /places/search
Find a venue by name.
q- at least two characters
curl -H "X-API-Key: $KEY" \
"https://420.camp/api/v1/places/search?q=green%20house"GET /jurisdictions/{id}/legal-summary
What is legal here, in plain language — the answer behind every venue page.
locale- en, uk, es, nl, pl, de, it, th
curl -H "X-API-Key: $KEY" \
"https://420.camp/api/v1/jurisdictions/{id}/legal-summary?locale=de"POST /legal/evaluate
Ask one question about one place: may I buy, possess, consume here?
action- purchase, possession, public_consumption, tourist_access, medical_access…
jurisdictionId or lat/lng- where the question is being asked
locale- answer language
curl -X POST -H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{
"action": "tourist_access",
"lat": 52.3702,
"lng": 4.8952,
"locale": "en"
}' \
https://420.camp/api/v1/legal/evaluateUsing the data
- Legal information changes. Show the date we last reviewed it, which every legal response includes.
- Do not present our data as a legal opinion — it is a plain-language summary with sources.
- Cache responses rather than re-requesting the same records; the record budget counts what you asked for.
- Attribute 420.camp and link back to the venue or rule page you drew from.
Get a key
Keys are created in your dashboard. The free tier needs no payment details.
Create a key