Agent skill · Backend & API

seats-aero

Search award flight availability across 27 mileage programs via Seats.aero Partner API. Find cheapest award flights, compare programs, and get booking links.

borskigithub.com/borskiGitHub ↗
claude-codeMIT
Install
npx skills add borski/travel-hacking-toolkit --skill seats-aero --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 20 KB
Bundled scripts: none
Path: plugins/travel-hacking-toolkit/skills/seats-aero/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 611
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

The skill enables an agent to search award flight availability across many mileage programs, find the cheapest options, compare programs, and provide booking links.

How it works

  • Uses a partner API to query both Cached Search and Get Trip Details for availability objects, including saver (fixed price) and dynamic pricing, with a dynamic price filter capable of hiding overpriced awards.
  • Authentication is via SEATS_AERO_API_KEY in the environment and the Partner-Authorization header in requests.
  • Primary endpoints include Cached Search (for route/date/program level summaries) and Get Trip Details (for flight-level itineraries with segments and booking links). Live Search exists but is restricted to commercial agreements.
  • Outputs include: availability fields (Route, Date, Source, Y/W/J/FAvailable, MileageCost, RemainingSeats, Airlines, Direct flags, ComputedLastSeen) and Trip Details with segments, MileageCost, Taxes, RemainingSeats, booking_links, and coordinates.
  • Supports Bulk Availability for large program-specific queries and Live Search with JSON payloads to fetch real-time results.
  • Users can filter by sources, cabins, direct flights, and can enable include_filtered or show_dynamic_pricing for broader results.

When to use it

  • When you need to identify cheapest redemptions across many programs for a given route/date window.
  • When you want to compare saver vs dynamic pricing and locate booking links quickly.
  • When you require flight-level detail (segments, taxes, booking links) for multi-seat itineraries.
  • When planning trips that involve multiple travelers and you need to verify data freshness (ComputedLastSeen).

What it can touch

  • Uses the Seats.aero API endpoints under https://seats.aero/partnerapi (Cached Search, Trips, Availability, Routes, Live, etc.).
  • Requires environment variable SEATS_AERO_API_KEY for authentication and uses the Partner-Authorization header in requests.
  • Supports curl commands and jq for formatting responses as demonstrated in the skill documentation.

Caveats

  • Live search results are ephemeral and IDs are not real for use with other Seats.aero APIs.
  • Dynamic pricing filtering can hide high-priced awards unless include_filtered/show_dynamic_pricing is used.
  • Foreign programs may have locale/tax/login caveats and may require local IDs or methods.
  • Always verify award space on the airline's site before transferring points; phantom availability can occur due to caching delays or partner feed issues.
From the SKILL.md

# Seats.aero Skill Search cached and live award flight availability across 27 mileage programs (including Spirit Free Spirit and Frontier Miles, added April 2026). Find the cheapest award flights, compare programs, and get booking links. **Source:** [seats.aero](https://seats.aero) | [API Docs](https://developers.seats.aero) | [Knowledge Base](https://docs.seats.aero) ## Authentication Set `SEATS_AERO_API_KEY` in your `.env` file. Get from [Settings > API tab](https://seats.aero/settings) (Pro account required). All requests use the `Partner-Authorization` header. Pro users get **1,000 API calls per day** for non-commercial use. ## API Base ``` https://seats.aero/partnerapi ``` ## Key Concepts ### Saver vs Dynamic Pricing Award seats fall into two categories: - **Saver (fixed price):** Set, predictable miles cost. Often the ONLY type bookable through partner programs. Best value. Always shown on Seats.aero. - **Dynamic:** Price changes based on demand (like cash fares). Can be reasonable or extremely expensive. Seats.aero **filters out overpriced dynamic awards by default.** ### Dynamic Price Filter Thresholds Awards exceeding these per-hour thresholds are hidden automatically: | P

What's inside
Steps it walks through
  1. Authentication
  2. API Base
  3. Key Concepts
  4. Saver vs Dynamic Pricing
  5. Dynamic Price Filter Thresholds
  6. Phantom Availability
  7. Foreign Program Caveats
  8. Award Release Dates
  9. Availability Objects
  10. Mileage Program Sources
  11. Cached Search (Primary Endpoint)
  12. Parameters
  13. Response Fields (Availability Object)
  14. Get Trip Details
Commands it runs
curl -s -H "Partner-Authorization: $SEATS_AERO_API_KEY" \
curl -s -X POST -H "Partner-Authorization: $SEATS_AERO_API_KEY" \
Business class availability sorted by cheapest miles
Saver vs dynamic detection: if miles < threshold, likely saver
Economy availability with 2+ seats
All available cabins for a date range
Direct flights only in business
Check data freshness (stale = potential phantom)
Calculate layover duration from trip segments
TotalDuration = full trip (gate to gate including layovers)
More from travel-hacking-toolkit
All skills →
About this skill
What does the seats-aero skill do?

Search award flight availability across 27 mileage programs via Seats.aero Partner API. Find cheapest award flights, compare programs, and get booking links.

How do I install it?

Run `npx skills add borski/travel-hacking-toolkit --skill seats-aero --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From borski/travel-hacking-toolkit, a repository with 611 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going