Import via API
Push data programmatically using the Mapsemble REST API.
Import via API
The Mapsemble API allows you to push data to your maps programmatically. This is ideal for automated pipelines, large datasets, or syncing data from external systems.
When to use the API
- Automated data pipelines — Keep your map updated from a CRM, database, or other system.
- Large datasets — Import thousands of features in bulk.
- External system sync — Push data from your backend whenever records change.
Authentication
All API requests require a Bearer token in the Authorization header. See Authentication for how to generate and use your API key.
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://app.mapsemble.com/api/v1/maps
Create features
Add new features to your map by sending a GeoJSON FeatureCollection:
POST /api/v1/maps/{map_id}/features
Request body:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [longitude, latitude]
},
"properties": {
"label": "My Location",
"field_slug": "value"
}
}
]
}
geometry.coordinatesuses [longitude, latitude] order (GeoJSON standard).properties.labelsets the feature's display name.- Additional properties should use the field slug as the key.
Upsert by remote ID
To sync with an external database without creating duplicates, configure a remoteField in your map settings. When a feature is pushed with a matching remote ID, it gets updated instead of duplicated.
This is useful when your external system has its own unique identifiers and you want to keep Mapsemble in sync.
Update features
Replace existing features:
PUT /api/v1/maps/{map_id}/features
Delete features
Remove features from your map:
DELETE /api/v1/maps/{map_id}/features
Bulk operations
For batch updates (partial modifications to multiple features at once), use:
PATCH /api/v1/maps/{map_id}/features
Import limits
| Plan | Features via API |
|---|---|
| Free | 100 features |
| Pro | Unlimited |
| Enterprise | Unlimited |
Rate limiting and pagination
- API requests are rate-limited. If you hit the limit, you'll receive a
429 Too Many Requestsresponse. Wait and retry with exponential backoff. - For large datasets, send features in batches rather than all at once.
- List endpoints support pagination for retrieving large result sets.
Next steps
For the full endpoint reference including query parameters, response formats, and error codes, see Features Endpoints.