API publique et serveur MCP
Les hôtels, voyages organisés, agences et articles de Traveltodo, pour vos programmes et les assistants IA. En lecture seule, sans clé.
En bref
- Aucune authentification ; cookies et en-têtes d'authentification sont ignorés.
- Les prix sont les prix publics du site, en dinars tunisiens (DT) ; pour un hôtel, le séjour entier pour l'occupation demandée.
- Lecture seule : ni réservation, ni paiement, ni formulaire. Chaque résultat donne l'adresse de la page du site où réserver.
- 30 requêtes par minute et par adresse IP, API et MCP ensemble. En-têtes
RateLimit-Limit,RateLimit-Remaining,RateLimit-Reset; au-delà, 429 etRetry-After. - CORS ouvert (
*) : utilisable depuis un navigateur.
API REST /api/v1
Requêtes GET, réponses JSON. Une erreur répond son code HTTP avec statusMessage en français. Le détail des paramètres et des réponses est dans openapi.json.
GET /api/v1/hotels/searchoutil MCP search_hotels
Hôtels d'une ville pour un séjour : city (ou city_id), from_date, to_date, adults, children_ages (ex. 6,9). Filtres : min_stars, max_price, available_only, sort, limit, offset.
GET /api/v1/hotels/{id}outil MCP get_hotel
Fiche d'un hôtel ; avec from_date et to_date, ses chambres, formules et prix. Ajouter source s'il n'est pas null, et zone=monde&city_id=… hors de Tunisie.
GET /api/v1/toursoutil MCP list_tours
Voyages organisés au départ de Tunis : q, destination, month (AAAA-MM), max_price.
GET /api/v1/tours/{slug}outil MCP get_tour
Programme, départs, prix, suppléments et conditions d'un voyage.
GET /api/v1/agenciesoutil MCP list_agencies
Agences Traveltodo : q (ville, quartier), region, visa.
GET /api/v1/articlesoutil MCP search_articles
Articles du blog : q, category, limit, offset.
GET /api/v1/health
État de l'API.
curl "https://newv1.traveltodo.com/api/v1/hotels/search?city=Hammamet&from_date=2026-07-10&to_date=2026-07-14&adults=2&children_ages=6"Serveur MCP /mcp
Model Context Protocol en Streamable HTTP, sans état : une requête POST JSON-RPC, une réponse JSON. Méthodes initialize, ping, tools/list, tools/call. Les six outils reprennent l'API ci-dessus, avec leurs schémas d'entrée et de sortie.
Pour l'ajouter à un client MCP :
{
"mcpServers": {
"traveltodo": { "type": "http", "url": "https://newv1.traveltodo.com/mcp" }
}
}Ou directement :
curl -X POST https://newv1.traveltodo.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_agencies","arguments":{"q":"Sfax"}}}'Dans le navigateur (WebMCP)
Dans un navigateur qui propose WebMCP, les pages du site déclarent les outils search_hotels (lecture de l'API) et open_hotel_search (ouvre la page des résultats), et le formulaire de recherche d'hôtels de l'accueil est décrit pour un agent. Rien n'est réservé ni envoyé à la place du visiteur.
Chaque page répond aussi en Markdown à une requête Accept: text/markdown.
Découverte
/openapi.json— Description OpenAPI 3.1 de l'API (aussi /swagger.json)./.well-known/api-catalog— Catalogue d'API (RFC 9727)./.well-known/mcp/server-card.json— Carte du serveur MCP : transport, capacités, outils./.well-known/agent-skills/index.json— Compétences pour agents (SKILL.md) : chercher un hôtel ; voyage organisé ou agence./llms.txt— Le site résumé pour les assistants IA.
Une question ?
Écrivez à [email protected]. Pour réserver : le site ou le +216 70 103 103.
