Skip to content

Where can I go for $X? Budget-first travel destination finder with flights, hotels, and daily expenses.

License

Notifications You must be signed in to change notification settings

bysiber/wanderbudget

Repository files navigation

WanderBudget ✈️

Where can I go for $X?

The travel search that starts with your budget, not your destination. Enter your total budget and dates — see every destination you can afford with flights, hotels, and daily expenses included.

Python FastAPI Tests License

The Problem

Every travel site asks "Where do you want to go?"

But the real question is: "I have $1,500 — where CAN I go?"

No existing tool combines flights + hotels + daily expenses into a single total trip cost with a budget-first approach. WanderBudget does.

Features

  • 🔍 Budget-first search — Enter your budget, see affordable destinations
  • ✈️ Total trip cost — Flights + hotels + food/transport/activities
  • 🎒 3 travel styles — Budget, Mid-range, Luxury
  • 🗺️ Interactive map — See destinations on a world map
  • 📊 89 cities worldwide with curated daily cost data
  • Smart caching — Results cached for fast repeat searches
  • 💰 Affiliate ready — Travelpayouts integration for monetization
  • 🔌 SerpAPI support — Live flight + hotel prices (250 free searches/month)

Quick Start

# Clone
git clone https://github.com/bysiber/wanderbudget.git
cd wanderbudget

# Install
pip install -e .

# Run
wanderbudget
# or: python -m wanderbudget

Open http://localhost:8000 in your browser.

How It Works

  1. You enter: Departure city, total budget, travel dates, travel style
  2. We calculate: For each of 89 destinations worldwide:
    • ✈️ Flight price (SerpAPI or estimated)
    • 🏨 Hotel cost per night
    • 🍽️ Daily expenses (food, transport, activities)
    • = Total trip cost
  3. You see: All destinations sorted by price, with those within your budget highlighted

API Keys (Optional)

WanderBudget works out of the box with realistic estimated prices. For live prices, add API keys:

# Copy env template
cp .env.example .env

# Add your keys
SERPAPI_KEY=your_serpapi_key        # 250 free searches/month
TRAVELPAYOUTS_TOKEN=your_token     # Affiliate monetization
TRAVELPAYOUTS_MARKER=your_marker

Getting API Keys

Service Cost Purpose
SerpAPI Free (250/mo) Live flight + hotel prices
Travelpayouts Free Affiliate revenue (90+ travel brands)

API Endpoints

Endpoint Method Description
/ GET Web interface
/api/search GET Search destinations by budget
/api/cities GET List/search available cities
/api/airports GET Airport code → city mapping
/api/stats GET System stats

Search Example

curl "http://localhost:8000/api/search?origin=IST&budget=1500&departure=2025-07-15&return_date=2025-07-22&style=midrange"

Development

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/ -v

# Run with auto-reload
DEBUG=true python -m wanderbudget

Tech Stack

  • Backend: Python 3.9+, FastAPI, Pydantic
  • Frontend: HTML/CSS/JS, Tailwind CSS, Leaflet.js (maps)
  • Data: Curated daily cost dataset (89 cities, 6 continents)
  • APIs: SerpAPI (flight+hotel prices), Travelpayouts (affiliates)

License

MIT

About

Where can I go for $X? Budget-first travel destination finder with flights, hotels, and daily expenses.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages