API

Cartaveo runs on a plain HTTP API, the same one the website itself uses. Public map data is free to read and doesn't need a sign-up. Adding or editing data does need an account.

Reading data

Every public collection's locations are available as JSON, or as GeoJSON if you want to drop them straight into a mapping tool. In your browser a collection lives at an address like /collections/lisbon-street-art, but the API calls it a dataset instead, so swap /collections for /datasets when making requests.

curl "https://cartaveo.com/datasets/lisbon-street-art/entries?format=geojson"

Most locations are a single point, but a collection can also accept routes and areas. Those come back as the feature's own geometry, a LineString or a Polygon. Every feature still carries latitude and longitude in its properties, so a tool that only knows how to draw pins keeps drawing one, in the right place. In plain JSON the shape sits in geometry, with geometryKind (point, line or area) and the measured lengthM or areaM2 beside it.

Full-text search across public collections and locations is available at GET /search?q=your+terms&type=entries (or type=datasets, the default).

Writing data

To add or edit anything you'll need a Cartaveo account and a personal access token. Sign in, open Settings → Developer, and create one there. From then on, send it with every request as a bearer credential:

curl -X POST "https://cartaveo.com/datasets/lisbon-street-art/entries" \
  -H "Authorization: Bearer cartaveo_pat_..." \
  -H "Content-Type: application/json" \
  -d '{"latitude": 38.7169, "longitude": -9.1399, "title": "Alfama mural", "description": "Large mural near the tram stop.", "tags": ["mural"], "customFields": {}}'

Automated or AI-driven integrations authenticate the exact same way. There's no separate agent API, just the same token on the same endpoints.

Rate limits & fair use

Requests are rate-limited. Limits depend on what you're doing: comments, for example, are capped at 30 an hour and 200 a day per person per collection. Go over a limit and you'll get a 429 back. Wait a bit and try again.

Visibility

The API respects the same visibility rules as the site. Private collections, and locations still pending review or already rejected, won't show up in responses regardless of whether you're signed in.

When you don't need the API

To put a live map of a collection on another site, you don't have to call anything: the embedding guide has a script tag and an iframe you can paste in as they are. And for WordPress the Cartaveo Maps plugin wraps the same map in a block and a shortcode. It's free on the WordPress.org directory.