Custom Datasets
Upload your own GeoJSON and query it alongside 8 billion OpenStreetMap features. One API, all your data.
How it works
Upload your GeoJSON
POST a FeatureCollection or individual features. Replace, merge, or append to existing data.
Plaza indexes it
Features are tiled to H3, spatially indexed, and stored alongside the OSM planet.
Query everything together
Use REST or PlazaQL to search your data and OSM in the same request. Spatial filters, tag filters, and set operations all work.
See it in action
A real API request, visualized.
Who uses this
Teams building with Custom Datasets.
Store locators
Upload locations, query by proximity. Combine with geocoding to find the nearest store to any address.
Custom boundaries
Sales territories, delivery zones, or franchise areas as polygons. Spatial queries check which zone a coordinate falls in.
Data enrichment
Query your features against OSM in the same request. Find all restaurants within 500m of each office location.
1M
Features per dataset
100
Datasets per account
8
CRUD endpoints
3
Upload modes
What you can build
Example apps powered by Custom Datasets.
Store Locator
Find the nearest location to any address with proximity search.
Delivery Zone Checker
Upload service areas as polygons, check if an address is covered.
Asset Dashboard
Track fleet positions and query by bounding box in real time.
Start building
# Create a dataset
curl -X POST https://plaza.fyi/api/v1/datasets \
-H "x-api-key: $PLAZA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Store Locations"}'
# Upload GeoJSON features
curl -X POST https://plaza.fyi/api/v1/datasets/$DATASET_ID/upload \
-H "x-api-key: $PLAZA_API_KEY" \
-F "file=@stores.geojson" \
-F "mode=replace"
View endpoints
| Method | Path | Description |
|---|---|---|
| POST | /api/v1/datasets | Create a new dataset |
| GET | /api/v1/datasets | List your datasets |
| GET | /api/v1/datasets/:id | Get dataset metadata |
| POST | /api/v1/datasets/:id/upload | Upload GeoJSON features (replace, merge, or append) |
| POST | /api/v1/datasets/:dataset_id/features | Create individual features |
| GET | /api/v1/datasets/:dataset_id/features | List features with cursor-based pagination |
| PATCH | /api/v1/datasets/:dataset_id/features/:id | Update a feature's geometry or properties |
| DELETE | /api/v1/datasets/:dataset_id/features/:id | Delete a feature |
How it compares
Common questions
What formats can I upload?
GeoJSON FeatureCollections. Upload a file via the REST API or dashboard. Every feature needs a valid geometry (Point, LineString, Polygon, or Multi* variants) and optional properties.
Can I query my data alongside OpenStreetMap?
Yes. Use the datasets parameter on any query endpoint, or use PlazaQL's dataset() source to mix your data with OSM in a single query.
How much storage is included?
Free tier includes 1 MB. Pro plans include 1 GB to 20 GB depending on the tier. Overage is $5/GB/month. Enterprise gets custom storage.
What are the upload modes?
Replace (swap all features), merge (upsert by ID), and append (add without removing). Choose the mode that fits your update pattern.