Geocoding, clustering, deep-linking, print, etc. — a suite of APIs for your advanced needs.
Create bespoke services and deploy them at scale using our different APIs. All the methods documented to code with no effort.
From user query to map display — in a single flow.
Free text, address, coordinates or POI identifier. Multilingual, typo-tolerant.
Address ↔ coordinates conversion. Named entity extraction for hybrid queries (place + category).
Relevance scoring, semantic filters, editorial or proximity boost, category and date facets.
URL or native scheme pointing directly to a POI, area or route. No install required.
Multiple APIs, one goal: zero friction for the user.
Geocoding, clustering, deep linking, print, analytics, etc. — advanced APIs covering the entire discovery and navigation journey.
Address → coordinates. Global coverage via OpenStreetMap + proprietary data. Result < 100 ms.
Coordinates → nearest address or POI. Useful to display context on location.
Dynamic clustering API for large result sets, featuring advanced query parameters. Minimized latency, even with extensive content databases.
Linked views to directly open areas, points of interest, filters or searches, oriented 360° images, etc.
Static previews, exports of rasterized views or vector files from any map with its content for all media, including print.
Retrieve and leverage telemetry data from your maps and various Wemap services.
Supported protocols: OpenID Connect and SAML. Organization and rights management. Active Directory integration.
Interaction with various Wemap services: mapping, route calculation, vision-based localization, and spatial AI via MCP.
Open standards, global coverage
Our Geocoding APIs build on OpenStreetMap for sovereign global coverage — data stays under community control, continuously updated.
View the documentation →Performance and platform coverage.
Performance
| Search latency | < 100 ms (p95) |
| Geocoding latency | < 80 ms (p95) |
| Geographic coverage | Global |
| Languages | 30+ |
| Deep-link formats | URL · iOS Universal · Android App Links |
| Uptime SLA | 99.9% |
Access by interface
| Interface | Status |
|---|---|
| REST API | Full Full |
| JavaScript SDK | Search + Geocoding full Search + Geocoding full |
| iOS SDK | Search REST · Native deep-link Search REST · Native deep-link |
| Android SDK | Search REST · Native App Links Search REST · Native App Links |
| Flutter | Via REST Via REST |
Features: Full-text search · Geocoding · Reverse geocoding · Facets · Deep-linking · SEO indexing
Three APIs, three examples.
# Full-text search across your map's POIs
curl "https://api.getwemap.com/v3/search?q=restaurant&map_id=YOUR_MAP_ID&lat=48.87&lng=2.31&radius=500&limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"
# Response includes ranked results with distance
# {
# "data": [
# { "id": 1234, "name": "Le Grand Café", "distance": 45, "score": 0.92 },
# { "id": 1235, "name": "Brasserie du Palais", "distance": 120, "score": 0.87 }
# ],
# "facets": { "category": { "restaurant": 8, "bar": 3 } },
# "total": 11
# } # Forward geocoding: address → coordinates
curl "https://api.getwemap.com/v3.0/geocoding/geocode?address=10+rue+de+Rivoli%2C+Paris" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
# Reverse geocoding: coordinates → address
curl "https://api.getwemap.com/v3.0/geocoding/geocode?latitude=48.8566&longitude=2.3522" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
# Optional: use an alternate geocoding provider
# &extra_provider=true // Generate a deep link to a specific POI
const deepLink = WemapDeepLink.toPoi({
mapId: 'YOUR_MAP_ID',
poiId: 1234,
// Optional: center map on this POI and open its panel
action: 'open',
});
// Universal link (works in browser + native apps)
// → https://app.getwemap.com/m/YOUR_MAP_ID?poi=1234&action=open
// Native deep link (iOS Universal Links / Android App Links)
// → wemap://maps/YOUR_MAP_ID/poi/1234
// Share from native app
Share.share({ url: deepLink.universal }); import { WemapSearch, WemapGeocoding } from '@wemap/sdk';
const search = new WemapSearch({ mapId: 'YOUR_MAP_ID' });
const geo = new WemapGeocoding({ apiKey: 'YOUR_API_KEY' });
// Full-text search with proximity boost
const results = await search.query('restaurant', {
near: { lat: 48.87, lng: 2.31 },
radius: 500,
filters: { category: 'food' },
});
console.log(`Found ${results.total} results`);
// Geocode an address
const location = await geo.forward('10 rue de Rivoli, Paris');
console.log(location.coordinates); // { lat: 48.8601, lng: 2.3479 }
// Reverse geocode
const address = await geo.reverse({ lat: 48.8566, lng: 2.3522 });
console.log(address.formatted); // "Place du Louvre, Paris" Search and geocoding at the scale of millions of users.
"Wemap's Search API let us replace Mapbox in days, with better result quality and half the cost."— Tech Team, Evaneos
Standard APIs, controlled data.
Open standards for interoperability, strong guarantees for security and privacy.
Geocoding based on OSM data — open data, updated by the global community.
All APIs are HTTPS-only with HSTS. No unencrypted HTTP calls accepted.
Per-API-key domain whitelisting. No unauthorised cross-origin requests.
Native standards for deep-linking — no store redirect, instant opening.
Country and language codes conforming to ISO/IETF standards — guaranteed interoperability.
No user data stored during search/geocode calls. Requests anonymised by design.
Complete your Wemap integration.
Search, Geocoding and Deep-linking documentation available on developers.getwemap.com.
Questions? Our technical team responds within the day. pro@getwemap.com