Booth Beacon Public API
Access 1,300+ analog photo booth locations programmatically. Optimized for AI agents, LLMs, researchers, and application developers.
RESTful API
Simple HTTP endpoints returning JSON data. No authentication required for public endpoints.
Fast & Cached
Edge-cached responses with sub-100ms latency. Optimized for high-volume AI agent queries.
Open & Free
1000 requests/hour per IP. No API keys needed. Commercial use requires attribution.
Base URL
https://boothbeacon.org/apiEndpoints
/api/boothsList All Booths
Returns a paginated list of all active photo booths with complete metadata.
Query Parameters
limitNumber of results per page (default: 100, max: 500)offsetPagination offset (default: 0)statusFilter by status: active, closed, temporarily_closedcountryFilter by country (e.g., "United States", "Germany")cityFilter by city nameExample Request
GET https://boothbeacon.org/api/booths?limit=10&status=active&country=GermanyExample Response
{
"booths": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Berlin Photo Booth",
"slug": "berlin-photo-booth",
"city": "Berlin",
"country": "Germany",
"latitude": 52.5200,
"longitude": 13.4050,
"status": "active",
"is_operational": true,
"machine_model": "Photoautomat",
"cost": "€4",
"description": "Classic Photoautomat in Kreuzberg...",
"photo_exterior_url": "https://...",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-12-05T00:00:00Z"
}
],
"total": 1000,
"limit": 10,
"offset": 0
}/api/booths/[id]Get Specific Booth
Returns complete details for a single photo booth by ID or slug.
Path Parameters
idBooth UUID or slugExample Request
GET https://boothbeacon.org/api/booths/berlin-photo-booth/api/booths/[id]/similarFind Similar Booths
Returns booths with the same machine model or operator.
Example Request
GET https://boothbeacon.org/api/booths/123e4567-e89b-12d3-a456-426614174000/similar/api/maps/city/[city]Get Booths by City
Returns all booths in a specific city, optimized for map clustering.
Example Request
GET https://boothbeacon.org/api/maps/city/berlinBooth Object Schema
Complete booth object with all available fields:
id - UUIDname - Booth nameslug - URL-friendly identifierstatus - active/closed/temporarily_closedis_operational - booleancity - City namestate - State/provincecountry - Country namelatitude - Decimal degreeslongitude - Decimal degreesstreet_address - Full addresspostal_code - Zip/postal codemachine_model - Photo-Me, Photoautomat, etc.machine_manufacturer - Manufacturer nameoperator_name - Operator companycost - Price per sessionhours - Operating hoursdescription - Booth descriptionphoto_exterior_url - Image URLgoogle_rating - 1.0 to 5.0created_at - ISO 8601 timestampupdated_at - ISO 8601 timestampRate Limiting
Current Limits
- 1000 requests per hour per IP address
- No authentication required for public endpoints
- Edge caching reduces actual API hits
Rate Limit Headers
X-RateLimit-Limit: 1000X-RateLimit-Remaining: 950X-RateLimit-Reset: 1638360000Need Higher Limits?
Contact our team for commercial partnerships or higher rate limits.
Optimizations for AI Agents
Structured Data
All pages include JSON-LD structured data (Schema.org) for entity extraction
Schema Documentation →OpenAPI Spec
OpenAPI 3.0 specification for AI framework integrations (LangChain, etc.)
Coming soonGraphQL Support
GraphQL API with introspection for flexible AI agent queries
Coming soonAttribution & Licensing
Required Attribution
When using our API data, please provide attribution:
"Data from Booth Beacon (boothbeacon.org)"Non-Commercial Use
Free for research, personal projects, AI training, and non-commercial applications.
Commercial Use
Contact us for commercial licensing. Many uses are approved at no cost.
Questions or Need Help?
We're here to help you integrate Booth Beacon data into your application. Whether you're building an AI agent, travel app, or research project, we'd love to hear from you.