Developer overview
Two APIs, one contract. TravelDistro is Rate Extra's B2B travel API; the Hotel API is provided by Safaryar Holidays. This page is a conceptual map with deep links into the public references; it does not duplicate them.
TravelDistro API
- Auth
- TD-HMAC-SHA256 (Authorization, X-TD-Timestamp, X-TD-Nonce)
- Base URL
- https://api.traveldistro.com/v1
- Support
- api@traveldistro.com
Hotel API by Safaryar Holidays
Contracted separately with Safaryar Holidays (Sindibad Turizm Ticaret A.Ş.), Istanbul.
- Auth
- X-API-Key header
- Base URL
- https://api.safaryarholidays.com
- Support
- support@safaryarholidays.com
API key and contract scope
One key covers every vertical your contract includes. A product outside the contract answers 403 MODULE_NOT_ENABLED on all of its endpoints; GET /v1/account lists what is open.
Prepaid wallet
Bookings debit a prepaid balance in a contracted currency. Balance, statement and currency rates are readable over the API. A 429 or a failed booking charges nothing.
quote_token flow
Every search returns priced results with a quote_token that locks the price until quote_expires_at. Booking redeems the token; prices are never cached on your side.
Idempotency
Booking and cancellation require an Idempotency-Key. The same key and body replay the original response, so a retried request cannot double-book.
Rate limits
Per agency, reads and writes counted separately in a rolling one-minute window, reported in X-RateLimit-* headers with Retry-After on 429.
Error envelope
Every error uses one envelope with a stable error.code and a details object, so clients branch on codes, not on messages.
Webhooks
Outbound events are signed, retried twice with exponential backoff and deduplicable by X-TD-Webhook-Id. The Hotel API signs with X-Webhook-Signature and does not retry.
Licensed travel agency? Apply for API access.
Get API access