About ignav
A skill for searching one-way and round-trip flights through the Ignav REST API, returning structured prices, itineraries, and booking links. It is for travelers comparing flight options, with filters for cabin, stops, price, and airlines.
Key features
- 01Search one-way and round-trip flights
- 02Look up airport codes
- 03Filter by cabin, price, and stops
- 04Return structured itineraries and fares
- 05Retrieve booking links
Use cases
- 01Compare fares for specific travel dates
- 02Filter itineraries by airline or stops
- 03Get booking links for a selected itinerary
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ borski/ travel-hacking-toolkit --skill ignavAfter installing, type/ignavin Claude Code to confirm it loaded.
Details
From the project READMEFlight Search via Ignav API
Fast REST API flight search at https://ignav.com. Returns structured JSON with prices, itineraries, and booking links. 1,000 free requests, no rate limit.
Setup
Get a free API key at https://ignav.com/signup (1,000 requests, no credit card).
Set IGNAV_API_KEY in your environment or .env file.
Workflow
- Parse the user's request (origin, destination, dates, trip type, passengers, cabin)
- Look up airport codes if user gave city names
- Search flights (one-way or round-trip)
- Present results in markdown table
- Get booking links if user wants to book
Endpoints
Search Airports
curl -s "https://ignav.com/api/airports?q=Barcelona&limit=5" \
-H "X-Api-Key: $IGNAV_API_KEY"
One-Way Flights
curl -s -X POST "https://ignav.com/api/fares/one-way" \
-H "X-Api-Key: $IGNAV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"origin": "SFO",
"destination": "JFK",
"departure_date": "2026-05-15",
"adults": 1,
"cabin_class": "economy"
}'
Round-Trip Flights
curl -s -X POST "https://ignav.com/api/fares/round-trip" \
-H "X-Api-Key: $IGNAV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"origin": "SFO",
"destination": "JFK",
"departure_date": "2026-05-15",
"return_date": "2026-05-20",
"adults": 1,
"cabin_class": "economy"
}'
Booking Links
curl -s -X POST "https://ignav.com/api/fares/booking-links" \
-H "X-Api-Key: $IGNAV_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ignav_id": "the_itinerary_id", "adults": 1}'
Parameters
| Parameter | Type | Description |
|---|---|---|
adults | int | Number of adults (default: 1) |
children | int | Number of children (default: 0) |
cabin_class | string | economy, premium_economy, business, first |
max_stops | int | 0 (direct only), 1, or 2 |
max_price | int | Maximum price filter |
departure_time_range | object | {"earliest_hour": 8, "latest_hour": 20} |
airlines_include | array | Only these airline codes |
airlines_exclude | array | Exclude these airline codes |
market | string | Country code for pricing (default: "US"). Different markets return different prices. |
Response Structure
Each itinerary contains:
price:{"amount": 299, "currency": "USD"}outbound: carrier, duration_minutes, segments arrayinbound: same (null for one-way)cabin_class: the cabin classbags:{"carry_on": 1, "checked": 0}ignav_id: unique ID for booking links
Each segment: marketing_carrier_code, flight_number, departure_airport, departure_time_local, arrival_airport, arrival_time_local, duration_minutes, aircraft.
Output Format
Always use markdown tables.
| # | Airline | Stops | Duration | Depart | Arrive | Price | Bags |
|---|---|---|---|---|---|---|---|
| 1 | Vueling | Nonstop | 2h 15m | 8:30 AM | 10:45 AM | EUR 125 | 1 carry-on |
| 2 | Ryanair | Nonstop | 2h 20m | 6:15 AM | 8:35 AM | EUR 89 | 1 carry-on |
After the table, highlight cheapest, fastest, and best value. Call out tradeoffs. Offer booking links.
Notes
- Dates are required for all searches
- Default to round-trip and economy if not specified
- Use airport search endpoint for city name lookups
- Market affects prices. Same route can cost significantly less from a different market. Try departure country first, then destination country.
- Does NOT include Southwest. Use google-flights skill for SW.