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:
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.
GET /api/hotels/ HTTP/1.1
Host: mappin.rpconnect.travel
X-API-Key: your_api_key_here
cURL
curl https://mappin.rpconnect.travel/api/hotels/ \
-H "X-API-Key: your_api_key_here"
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
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 Type | Description | Response When Exceeded |
|---|---|---|
| Daily Quota | Max requests per day (per plan) | 429 Daily quota exceeded |
| Monthly Quota | Max requests per calendar month | 429 Monthly quota exceeded |
| Burst Limit | Max concurrent requests per second | 429 Burst limit exceeded |
| IP Abuse Guard | >10 requests/sec from single IP → 5-min block | 429 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.
{
"error": "Daily API quota exceeded"
}
| Status | Meaning | What to do |
|---|---|---|
200 | Success | Nothing — you're good |
400 | Bad request | Check your query parameters |
401 | Missing/invalid API key | Verify your X-API-Key header |
403 | Partner disabled | Contact support |
404 | Resource not found | Check the ID in your URL |
429 | Rate limit exceeded | Wait & retry, or upgrade plan |
500 | Server error | Retry with exponential backoff |
Countries
Access the master list of countries supported by MAPPIN.
GET /api/countries/
Returns all countries in the master database.
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).
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.
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 PlaygroundGet Help
Stuck? We're here to help.
- 📧 Support: assist@rpconnect.travel
Our team typically responds within 2 hours during business hours (IST).