Multi Agent AI Travel Advisor

by kbhujbal• 60•• Scanned•Claim this listing•Request removal
Coding Agentsagentic aicrewaigenai trip coordinatoritinerary plannerlangchain python

AI travel planner with 7 specialized agents, RAG, and tool-calling. Built with CrewAI & LangChain. Generates personalized itineraries with flights, hotels, activities, and cultural tips. Production-ready Python codebase.

Multi Agent AI Travel Advisor is an open-source ai agent by kbhujbal, written mainly in Python, with 60 GitHub stars and the MIT license. Its code was last updated Apr 12, 2026.

Multi-Agent AI Travel Planner v2.0

An AI travel planning system that combines real-time API data with AI-powered analysis to create personalized travel itineraries. Built with CrewAI, featuring 11 external API integrations and RAG for travel knowledge.

Key Concepts

  • 3 AI Agents handle reasoning: parsing requests, cultural knowledge, and itinerary compilation
  • 4 API Services fetch real-time data: flights, accommodation, activities, and logistics
  • RAG Knowledge Base provides cultural tips, visa info, and practical advice via ChromaDB
  • AI only does analysis — all travel data comes from real APIs, not hallucinated by the LLM

Architecture

User Request
    |
[AI] Travel Planning Manager --- parses request into structured params
    |
[API] 4 services fetch in parallel (no AI, pure HTTP)
    |--- Flights: Amadeus + SerpApi (fallback)
    |--- Accommodation: Booking.com + Airbnb
    |--- Activities: Google Places + Viator + Yelp
    |--- Logistics: Google Maps + OpenWeatherMap + Currency + Country Info
    |
[AI] Travel Knowledge Expert --- RAG for cultural/visa/practical info
    |
[AI] Itinerary Compiler --- synthesizes ALL real data into day-by-day plan
    |
Final Itinerary (with real prices, real hotels, booking links)

Quick Start

Prerequisites

Installation

# Clone the project
cd "Multi Agent AI Travel Agent"

# Create and activate virtual environment
python -m venv venv
source venv/bin/activate  # macOS/Linux
# or: venv\Scripts\activate  # Windows

# Install dependencies
pip install -r requirements.txt

# Set up environment
cp .env.example .env
# Edit .env and add your API keys

Running

Backend:

uvicorn backend.app:app --host 0.0.0.0 --port 8000 --reload --reload-exclude "venv/*" --reload-exclude "data/*"

Frontend (separate terminal):

cd frontend
npm install
npm run dev

CLI mode (no frontend needed):

python main.py

API Keys Required

Required

KeyPurposeGet it from
GEMINI_API_KEYAI agents (needs paid plan)aistudio.google.com/apikey

Flight APIs (need at least one)

KeyPurposeGet it from
AMADEUS_API_KEY + AMADEUS_API_SECRETPrimary flight searchdevelopers.amadeus.com
SERPAPI_KEYFallback flight searchserpapi.com

Accommodation APIs (need at least one)

KeyPurposeGet it from
BOOKING_API_KEYHotels (Booking.com via RapidAPI)rapidapi.com
AIRBNB_API_KEYRentals (Airbnb via RapidAPI)rapidapi.com

Activity APIs (need at least one)

KeyPurposeGet it from
GOOGLE_PLACES_API_KEYAttractions & restaurantsconsole.cloud.google.com
VIATOR_API_KEYBookable toursdocs.viator.com
YELP_API_KEYDining (5,000 calls/day free)yelp.com/developers

Logistics APIs (all free)

KeyPurposeGet it from
GOOGLE_MAPS_API_KEYTransport routesconsole.cloud.google.com
OPENWEATHER_API_KEYWeather forecastopenweathermap.org

Optional

KeyPurpose
OPENAI_API_KEYRAG embeddings (only if using knowledge base)
EXCHANGE_RATE_API_KEYCurrency rates (fallback uses free API without key)

Services gracefully skip any provider whose key isn't configured.

Project Structure

backend/
├── app.py                          # FastAPI entry point
├── config/
│   └── settings.py                 # All API keys & service URLs
├── api/
│   ├── routes.py                   # REST endpoints
│   └── websocket.py                # WebSocket + progress updates
├── services/                       # Pure API calls, NO AI
│   ├── flights/
│   │   ├── amadeus.py              # Amadeus API (primary)
│   │   ├── serpapi.py              # SerpApi Google Flights (fallback)
│   │   └── service.py              # FlightService coordinator
│   ├── accommodation/
│   │   ├── booking.py              # Booking.com via RapidAPI
│   │   ├── airbnb.py              # Airbnb via RapidAPI
│   │   └── service.py             # AccommodationService coordinator
│   ├── activities/
│   │   ├── google_places.py        # Attractions & restaurants
│   │   ├── viator.py              # Bookable tours
│   │   ├── yelp.py                # Dining recommendations
│   │   └── service.py             # ActivityService coordinator
│   ├── logistics/
│   │   ├── google_maps.py         # Directions & routes
│   │   ├── weather.py             # OpenWeatherMap
│   │   ├── currency.py            # Exchange rates
│   │   ├── country_info.py        # REST Countries + Travelbriefing
│   │   └── service.py             # LogisticsService coordinator
│   └── knowledge/
│       └── rag.py                 # ChromaDB RAG
├── agents/                         # Only 3 AI agents
│   ├── llm.py                     # Gemini LLM factory
│   ├── definitions.py             # Travel Manager, Knowledge Expert, Compiler
│   ├── tasks.py                   # Task definitions
│   └── tools.py                   # CrewAI tool wrapper (RAG only)
├── crew/
│   └── orchestrator.py            # Main pipeline
├── models/
│   └── schemas.py                 # Normalized Pydantic models
frontend/                           # React + Vite UI
data/
├── travel_knowledge/              # RAG documents (.txt)
└── chroma_db/                     # Vector store (auto-generated)
main.py                             # CLI entry point

How It Works

The Pipeline (2-3 AI calls instead of 15-20)

  1. AI Step 1 — Travel Manager parses natural language into structured parameters (destinations, dates, budget, interests)
  2. API Step — 4 services fetch real data in parallel via asyncio.gather (flights, hotels, activities, logistics) — pure HTTP, no AI
  3. AI Step 2 — Knowledge Expert queries RAG for cultural/visa/practical info
  4. AI Step 3 — Itinerary Compiler takes ALL real API data + knowledge and creates a personalized day-by-day plan

Adding Travel Knowledge

Add .txt files to data/travel_knowledge/. Delete data/chroma_db/ to force re-indexing. The RAG system automatically indexes new documents on next run.

Tech Stack

  • CrewAI — Multi-agent orchestration
  • Google Gemini — LLM (via LiteLLM)
  • FastAPI — REST + WebSocket API
  • httpx — Async HTTP client for all API services
  • ChromaDB — Vector database for RAG
  • React + Vite — Frontend
  • Pydantic — Data models and validation

Troubleshooting

"Rate limit error" / "429" / "RESOURCE_EXHAUSTED"

Your Gemini free tier quota is exhausted. Enable billing at aistudio.google.com or wait for daily reset.

"API key expired"

Generate a new key at aistudio.google.com/apikey and update .env.

Server reloads during execution

Run with: uvicorn backend.app:app --reload --reload-exclude "venv/*" --reload-exclude "data/*"

"ModuleNotFoundError"

Activate your venv and run: pip install -r requirements.txt

ChromaDB errors

Delete data/chroma_db/ and run again.

License

MIT License — see LICENSE for details.

Multi Agent AI Travel Advisor alternatives

View more →

Similar ai agents in Coding Agents, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Multi Agent AI Travel Advisor (this page)
kbhujbal
60MITApr 12, 2026Scanned, no flagged issues
AutoGPT
Significant-Gravitas
188kNone foundNov 1, 2026Not scanned yet
Langchain
langchain-ai
149kMITNov 1, 2026Scanned, no flagged issues
Gemini CLI
google-gemini
109kApache-2.0Nov 1, 2026Scanned, no flagged issues
MetaGPT
FoundationAgents
71kMITJan 21, 2026Scanned, no flagged issues
Oh My Openagent
code-yeongyu
71kNone foundNov 1, 2026Not scanned yet