All systems operational

Build with Pmap API

Map data, address lookup, geocoding, routing, places, and business data — one API key, 54 African countries, production-ready from day one.

pmap-quickstart.js
1const key = 'PM_live_••••••••••••'
2const res = await fetch(
3 `https://pechmap.com/api/v1/places/nearby
4 ?lat=6.5244&lng=3.3792&category=pharmacy`,
5 { headers: { Authorization: `Bearer ${key}` } }
6)
7const { places } = await res.json()
8// [{ name: 'HealthPlus Pharmacy', lat: 6.5251 }]

How it works

One authenticated request. Data from all 54 African countries. JSON back in under 100 ms.

Your app calls PMap

A single REST request with your Bearer key — from any language.

PMap resolves it

Own basemap, geocoder, routing engine and POI graph — first-party African data.

You get clean JSON

Predictable, documented responses — ready to drop straight into your product.

GeocodeReverseRoutingPlacesBusinessesMarketsVerify

Get started in 3 steps

From zero to live API call in under 5 minutes.

1

Create account

Sign up in 30 seconds — no credit card required for the free tier.

Create account →
2

Get API key

Your key is generated instantly on the dashboard. Secure it and never commit it to git.

Open dashboard →
3

Make your first call

Copy a code example below and hit send. You'll have a live response in under 100 ms.

Read docs →

Everything you need to build

Six production-ready APIs. One key. Standard REST with JSON responses.

Code examples

Standard REST API. Works with any language.

// PMap API — JavaScript / Node.js
const PM_KEY = 'PM_live_YOUR_API_KEY'
const BASE   = 'https://pechmap.com/api/v1'

// 1. Geocode a place
const geo = await fetch(`${BASE}/geocode?q=Ikoyi+Lagos`, {
  headers: { 'Authorization': `Bearer ${PM_KEY}` }
}).then(r => r.json())
// { lat: 6.4549, lng: 3.4342, formatted: 'Ikoyi, Lagos Island, Lagos' }

// 2. Find places nearby
const places = await fetch(
  `${BASE}/places/nearby?lat=6.5244&lng=3.3792&category=pharmacy`,
  { headers: { 'Authorization': `Bearer ${PM_KEY}` } }
).then(r => r.json())
// { places: [{ name: 'HealthPlus Pharmacy', lat: 6.5251, ... }] }

// 3. Route between two points
const route = await fetch(
  `${BASE}/route?from=6.5244,3.3792&to=6.4549,3.4342`,
  { headers: { 'Authorization': `Bearer ${PM_KEY}` } }
).then(r => r.json())
// { distance_km: 8.4, duration_min: 22, steps: [...] }

Rate limits

Generous free tier. Scale as you grow.

PlanDaily limitMonthlyPrice
Free1,000 req/day30,000/mo$0
Starter10,000 req/day300,000/mo$29/mo
Pro100,000 req/day3M/mo$99/mo
EnterpriseUnlimitedUnlimitedCustom

Rate limits apply per API key. Exceeded limits return HTTP 429. Learn more

Your API key

Sign in to get your real key. Preview below.

Your API Key
PM_live_••••••••••••••••

Sign in to reveal your real key. Keep it secret — never commit to git.

Get real API key

SDKs & Libraries

Official client libraries maintained by the PMap team.

🟨

JavaScript

Full-featured Node.js & browser SDK with TypeScript support.

npm install @pechmap/sdk
🐍

Python

Async-ready Python SDK. Works with FastAPI, Django, Flask.

pip install pechmap
🐹

Go

Idiomatic Go client with context support and retries.

go get github.com/pechmap/go-sdk

Start building today

Free tier. No credit card required. Live in minutes.