22–25 September 2026·InnoTrans 2026in Berlin·Learn more

6–8 October 2026·Journées AGIR 2026in Angers·Learn more

Developers  › Data

Data & Content API — publish and sync your geospatial content from any source.

Documented REST API (OpenAPI), webhooks, native connectors for your existing tools. Your data, your format, rendered on the map.

API REST + Webhooks
LATENCY < 200 ms
CONNECTORS 10+
SYNC Real-time
DATA PIPELINE

From source to map — without intermediate code.

01
Data source

Over 100 off-the-shelf connectors: Excel, Google Sheets, OpenDataSoft, OpenAgenda, or your own RESTful API.

02
Mapping & transformation

Field mapping, format transformation, geographic enrichment (geocoding, GIS processing, joins, etc.).

03
Synchronisation

Scheduled or real-time sync via webhook. Conflict resolution and content versioning.

04
Distribution

Content available on map, in search, via deep-link and in the API — no manual redistribution.

CONTENT TYPES

All your geospatial content types, unified.

Points, lines, polygons, events — a consistent data model, one API to manage it all.

POINT POIs

Rich attributes: name, description, category, icon, images, opening hours, rich media, accessibility, and customizable fields.

LINE Routes & Polylines

GPX, GeoJSON, multi-step routes with associated media, elevation profile, difficulty.

POLYGON Areas & Shapes

Polygons, perimeters, heatmaps, 2D/3D buildings, administrative boundaries.

TEMPORAL Events

Dated, geolocated events. Filter by date, category, proximity. Real-time via connectors.

GROUP Thematic lists

Group POIs into curated collections — walks, selections, multilingual themes.

LIVE Real-time data

Live feeds: parking availability, water levels, IoT sensors, transit feeds. WebSocket or polling.

Built for large-scale integration

100+ native connectors OpenAPI 3.0 Webhooks Multi-language Versionning

Wemap offers native integrations with various platforms, including Google Sheets and Excel. Your data synchronizes continuously, without the need for additional development.

View the API documentation →
TECHNICAL SPECS

Performance and platform coverage.

Performance

API latency < 200 ms (p95)
Uptime SLA99.9%
Max POIs per map 1 000 000+
Webhooks✓
Auto-geocoding ✓
Versionning✓

Access by interface

Interface Status
REST API Full
JavaScript SDK Full
iOS Native Via Map SDK
Android Native Via Map SDK
Flutter Via Map SDK

Features: Create POI · Update · Delete · Batch import · Webhooks · Real-time sync

QUICK START

Map your data in 2 minutes.

# 1. Get an access token (OAuth2 client credentials)
curl -X POST https://api.getwemap.com/v3.0/oauth2/token \
  -H "Authorization: Basic BASE64(client_id:client_secret)" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "client_id=YOUR_CLIENT_ID&grant_type=client_credentials"
# → { "access_token": "..." }

# 2. Create a pinpoint
curl -X POST https://api.getwemap.com/v3.0/pinpoints \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Boutique principale",
    "description": "Notre boutique phare sur 3 niveaux",
    "address": "1 rue de Rivoli, 75001 Paris, France",
    "latitude": 48.8698,
    "longitude": 2.3078,
    "category": 1,
    "tags": ["flagship", "mode", "paris"]
  }'
# → 201 Created
// The Content API is REST-only — call it directly with fetch,
// no SDK wrapper required.
const tokenRes = await fetch('https://api.getwemap.com/v3.0/oauth2/token', {
  method: 'POST',
  headers: {
    Authorization: 'Basic ' + btoa(`${clientId}:${clientSecret}`),
    'Content-Type': 'application/x-www-form-urlencoded',
  },
  body: 'grant_type=client_credentials',
});
const { access_token } = await tokenRes.json();

const poi = await fetch('https://api.getwemap.com/v3.0/pinpoints', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${access_token}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'Boutique principale',
    description: 'Notre boutique phare sur 3 niveaux',
    latitude: 48.8698,
    longitude: 2.3078,
    category: 1,
    tags: ['flagship', 'mode', 'paris'],
  }),
}).then((r) => r.json());

console.log('POI created:', poi.id);
import requests
from requests.auth import HTTPBasicAuth

BASE_URL = "https://api.getwemap.com/v3.0"

# 1. Get an access token (OAuth2 client credentials)
token_res = requests.post(
    f"{BASE_URL}/oauth2/token",
    auth=HTTPBasicAuth("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET"),
    data={"grant_type": "client_credentials"},
)
access_token = token_res.json()["access_token"]

# 2. Create a pinpoint
response = requests.post(
    f"{BASE_URL}/pinpoints",
    headers={"Authorization": f"Bearer {access_token}"},
    json={
        "name": "Boutique principale",
        "latitude": 48.8698,
        "longitude": 2.3078,
        "category": 1,
        "tags": ["flagship", "mode", "paris"],
    },
)
poi = response.json()
print(f"Created POI: {poi['id']}")
# List pinpoints for a map (once you have an access token)
curl https://api.getwemap.com/v3.0/pinpoints?map_id=YOUR_MAP_ID \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  | jq '.data | length'
IN PRODUCTION

Millions of items, synchronised in real time.

500M requests / month
< 200 ms p95 latency
1M+ POIs per map
10+ native connectors
"Automatic sync via the Wemap connexion transformed our operations. Our 3,000 tenants update every night with zero manual intervention."
— Digital Team, MIN de Rungis
STANDARDS

Secure data, open formats, full portability.

Your data stays in open formats, hosted in Europe by default, exportable at any time.

✓
OpenAPI 3.0

Full OpenAPI 3.0 spec — generate clients in any language via Swagger or Postman.

✓
RGPD / GDPR

Data hosted in Europe by default, no third-party transmission, full export on request.

✓
GeoJSON & KML

Native GeoJSON, KML, GPX, CSV import and export — your data stays in open standards.

✓
On-premise available

Deploy the Content API in your own infrastructure — same API, 100% your data.

Ready to connect your data?

Your data on the map, in a few lines.

RESTful API, native connectors, full documentation.

Questions? Our technical team responds within the day.  pro@getwemap.com