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 et Retry-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

Une question ?

Écrivez à [email protected]. Pour réserver : le site ou le +216 70 103 103.