Developer Docs

Everything you need to ship faster

Complete API reference, integration guides, and code samples for the MAPPIN partner gateway.

Introduction

Welcome to the MAPPIN API — the unified partner API gateway for global travel data. Aggregate countries, cities, and hotels from 6+ travel providers through one intelligent mapping layer. Built for speed, designed for scale.

New here? Jump to the Quickstart to make your first API call in under 5 minutes.

Quickstart

Get up and running with MAPPIN in three quick steps.

1. Create an account

Head to the registration page and sign up as a partner. It takes under a minute — no credit card required.

2. Get your API key

After signing in, navigate to API Keys in your partner dashboard. Copy your key — you'll need it for every API request.

Keep it secret. Treat your API key like a password. Never commit it to a public repo or expose it in client-side code.

3. Make your first request

Try fetching the list of countries:

bash
curl https://mappin.rpconnect.travel/api/countries/ \
  -H "X-API-Key: your_api_key_here"

You should get back a JSON response with all supported countries. That's it — you're integrated. 🎉


Authentication

All API requests must include your API key in the X-API-Key header. Requests without a valid key will be rejected with 401 Unauthorized.

http
GET /api/hotels/ HTTP/1.1
Host: mappin.rpconnect.travel
X-API-Key: your_api_key_here

cURL

bash
curl https://mappin.rpconnect.travel/api/hotels/ \
  -H "X-API-Key: your_api_key_here"

Python

python
import requests

headers = {"X-API-Key": "your_api_key_here"}
response = requests.get(
    "https://mappin.rpconnect.travel/api/hotels/",
    headers=headers
)
print(response.json())

JavaScript

javascript
const response = await fetch(
  "https://mappin.rpconnect.travel/api/hotels/",
  { headers: { "X-API-Key": "your_api_key_here" } }
);
const data = await response.json();
console.log(data);

How It Works

MAPPIN sits between your application and multiple travel data providers (HotelBeds, Rezlive, and more). Instead of integrating each provider separately, you talk to one unified API and we handle:

  • Provider aggregation — one request fetches from all your subscribed providers
  • Data normalization — consistent JSON schema across every provider
  • Master mapping — duplicate cities and hotels are automatically merged into a single canonical record
  • Rate management — smart queuing so you never hit provider limits
  • Real-time availability — always fresh, no stale caches

Rate Limits & Quotas

MAPPIN enforces three types of limits to keep the platform fast for everyone:

Limit TypeDescriptionResponse When Exceeded
Daily QuotaMax requests per day (per plan)429 Daily quota exceeded
Monthly QuotaMax requests per calendar month429 Monthly quota exceeded
Burst LimitMax concurrent requests per second429 Burst limit exceeded
IP Abuse Guard>10 requests/sec from single IP → 5-min block429 IP blocked

Pro tip: Check your current usage anytime from the Analytics tab in your partner dashboard.

Error Handling

MAPPIN uses standard HTTP status codes. Errors always return a JSON body with an error field.

json
{
  "error": "Daily API quota exceeded"
}
StatusMeaningWhat to do
200SuccessNothing — you're good
400Bad requestCheck your query parameters
401Missing/invalid API keyVerify your X-API-Key header
403Partner disabledContact support
404Resource not foundCheck the ID in your URL
429Rate limit exceededWait & retry, or upgrade plan
500Server errorRetry with exponential backoff

Countries

Access the master list of countries supported by MAPPIN.

GET /api/countries/

Returns all countries in the master database.

bash
curl https://mappin.rpconnect.travel/api/countries/ \
  -H "X-API-Key: your_api_key_here"

GET /api/countries/<country_code>/

Returns details for a specific country by ISO 2-letter code (e.g., GB, IN, US).

bash
curl https://mappin.rpconnect.travel/api/countries/GB/ \
  -H "X-API-Key: your_api_key_here"

Cities

Search cities and fetch city details.

GET /api/cities/

Returns cities. Supports filtering:

  • ?country=GB — filter by country code
  • ?search=london — search by name

GET /api/cities/<city_id>/

Returns details for a specific city.

GET /api/city/?name=<name>

Legacy endpoint — search cities by name or fetch hotels by city_id.

Hotels

The core of MAPPIN — search hotels, get details, and access provider-normalized data.

GET /api/hotels/

List hotels. Supports filtering by city_id, country, and pagination.

bash
curl "https://mappin.rpconnect.travel/api/hotels/?city_id=123" \
  -H "X-API-Key: your_api_key_here"

GET /api/hotels/<hotel_id>/

Returns full hotel details, including all provider mappings, rooms, images, and amenities.

Provider Mapping

GET /api/provider-map/

Look up how a specific hotel or city is mapped across different providers. Useful for debugging and reconciliation.


API Playground

Test any endpoint interactively without writing a single line of code. Log in to your dashboard and click API Playground in the sidebar.

Open Playground

Get Help

Stuck? We're here to help.

Our team typically responds within 2 hours during business hours (IST).

Was this documentation helpful?