PlazaQL Query API
Run PlazaQL queries on dedicated infrastructure. No queue, no timeouts.
Run PlazaQL queries on dedicated infrastructure — no queue, no timeouts.
How it works
Write your query
PlazaQL syntax — clean, composable query language.
Plaza executes it
Parsed with NimbleParsec, run on H3-indexed Postgres.
Get results
GeoJSON or CSV — no response size limit.
See it in action
A real API request, visualized.
Who uses this
Teams building with PlazaQL Query API.
Data extraction
Pull structured OSM data for analysis and research.
Custom maps
Query specific features for thematic map layers.
Automated pipelines
Integrate OSM queries into ETL and data pipelines.
Full
PlazaQL syntax
2
Output formats
8B+
Queryable features
NimbleParsec
Parser
What you can build
Example apps powered by PlazaQL Query API.
Infrastructure Mapper
Query and visualize power lines, water systems, and roads.
OSM Data Pipeline
Automated extraction of POI data for analytics dashboards.
Urban Planner
Analyze building footprints and zoning within boundaries.
Start building
curl -X POST "https://plaza.fyi/api/v1/query" \
-H "Content-Type: application/json" \
-d '{"data": "$$ = search(node, amenity: \"hospital\").bbox(40.7, -74.0, 40.8, -73.9);"}'
View endpoints
| Method | Path | Description |
|---|---|---|
| POST | /api/v1/query | Execute a PlazaQL query |
How it compares
Common questions
What output formats does PlazaQL support?
GeoJSON (default) and CSV. Set the format via the $$ statement or Accept header.
How does this differ from overpass-api.de?
Plaza runs PlazaQL against its own database with H3 spatial indexing. No shared queue, no 2-connection limit, no 10-minute global timeout. Paid plans go up to 10K/min.
Does Plaza support area queries and recursion?
Yes. Use area(name: "Berlin") to query by named areas, + and - for union/difference set operations, and search results compose naturally through variable binding with $name = expr syntax.