seats-aero
Search award flight availability via seats.aero API. Triggers on: award flights, mileage bookings, points redemptions, finding business/first class availability, route availability searches.
Best use case
seats-aero is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Search award flight availability via seats.aero API. Triggers on: award flights, mileage bookings, points redemptions, finding business/first class availability, route availability searches.
Teams using seats-aero should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/seats-aero/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How seats-aero Compares
| Feature / Agent | seats-aero | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Search award flight availability via seats.aero API. Triggers on: award flights, mileage bookings, points redemptions, finding business/first class availability, route availability searches.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Seats.aero Award Flight Search
Search award flight availability across 24 mileage programs using the seats.aero partner API.
## Setup
Before searching, you need a seats.aero API key:
1. If the user hasn't provided an API key, prompt them:
- "Please provide your seats.aero API key. You can get one at https://seats.aero/partner"
2. Store the key in conversation context for subsequent requests
3. All requests require the header: `Partner-Authorization: Bearer {api_key}`
## Core Capabilities
### 1. Search Routes (`/search`)
Search cached availability across all mileage programs for a specific origin-destination pair.
### 2. Bulk Availability (`/availability`)
Explore all availability from a single mileage program, optionally filtered by region.
### 3. Route Discovery (`/routes`)
Get all routes monitored for a specific mileage program.
### 4. Trip Details (`/trips/{id}`)
Get detailed flight segments and booking links for a specific availability.
## Quick Reference
| Item | Value |
|------|-------|
| Base URL | `https://seats.aero/partnerapi/` |
| Auth Header | `Partner-Authorization: Bearer {key}` |
| Date Format | `YYYY-MM-DD` |
### Cabin Codes
- `Y` = Economy
- `W` = Premium Economy
- `J` = Business
- `F` = First
### Regions
North America, South America, Europe, Africa, Middle East, Asia, Oceania
## Supported Programs
```
aeroplan, alaska, american, aeromexico, azul, copa, delta, emirates,
ethiopian, etihad, finnair, flyingblue, gol, jetblue, lufthansa,
qantas, qatar, sas, saudia, singapore, turkish, united,
virginatlantic, virginaustralia
```
## Common Workflows
### Find availability on a specific route
**User**: "Find business class SFO to Tokyo next month"
1. Use `/search` endpoint with:
- `origin_airport=SFO`
- `destination_airport=NRT,HND` (both Tokyo airports)
- `cabin=J`
- `start_date` and `end_date` for the date range
### Explore program availability
**User**: "What United awards are available from Europe?"
1. Use `/availability` endpoint with:
- `source=united`
- `origin_region=Europe`
### Get booking details
**User**: "Show me details for that flight"
1. Use `/trips/{id}` with the availability ID from previous search
2. Response includes flight segments, times, and booking links
### Check what routes a program covers
**User**: "What routes does Aeroplan monitor?"
1. Use `/routes` endpoint with `source=aeroplan`
## API Parameters Quick Guide
### /search
| Parameter | Required | Description |
|-----------|----------|-------------|
| origin_airport | Yes | 3-letter IATA code |
| destination_airport | Yes | 3-letter IATA code(s), comma-separated |
| cabin | No | Y, W, J, or F (comma-separated for multiple) |
| start_date | No | YYYY-MM-DD |
| end_date | No | YYYY-MM-DD |
| sources | No | Program name(s), comma-separated |
| only_direct | No | true/false |
| take | No | Results per page (default 100) |
| cursor | No | Pagination cursor |
### /availability
| Parameter | Required | Description |
|-----------|----------|-------------|
| source | Yes | Single program name |
| cabin | No | Single cabin code |
| origin_region | No | Filter by origin region |
| destination_region | No | Filter by destination region |
| start_date | No | YYYY-MM-DD |
| end_date | No | YYYY-MM-DD |
| take | No | Results per page |
## Script Usage
For complex or repeated searches, use the Python helper:
```python
from scripts.seats_api import search_availability, format_results
results = search_availability(
api_key="your_key",
origin="SFO",
destination="NRT",
start_date="2024-03-01",
end_date="2024-03-31",
cabins="J,F"
)
print(format_results(results["data"], cabin="J"))
```
See `scripts/seats_api.py` for full API client implementation.
## Response Handling
### Availability Object Fields
- `ID` - Use for `/trips/{id}` lookup
- `Route` - Origin-Destination pair
- `Date` - Flight date
- `YAvailable`, `WAvailable`, `JAvailable`, `FAvailable` - Boolean availability
- `YMileageCost`, etc. - Points required per cabin
- `YDirects`, etc. - Number of direct flights available
- `Source` - Program name
- `ComputedLastSeen` - Data freshness timestamp
### Error Handling
- 401: Invalid or missing API key
- 429: Rate limited, wait and retry
- 404: No results or invalid availability ID
## Tips
1. **Date ranges**: Keep to 30-60 days for faster results
2. **Multiple cabins**: Search J,F together for premium options
3. **Direct flights**: Use `only_direct=true` to filter connections
4. **Pagination**: Use `cursor` from response for more results
5. **Data freshness**: Check `ComputedLastSeen` - older data may be stale
## Reference Documentation
For complete API specification including all fields and response schemas, see `references/api-spec.md`.Related Skills
paylock
Non-custodial SOL escrow for AI agent deals.
agent-reputation
summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.
Telecom Agent Skill
Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.
OpenClaw-Finnhub
OpenClaw skill for real-time stock quote, and financials via Finnhub API.
```markdown
# OpenClaw-Last.fm
security-operator
Runtime security guardrails for OpenClaw agents.
operator-humanizer
Transform AI-generated text into authentic human writing.
kit-email-operator
**AI-powered email marketing for Kit (ConvertKit)**.
agora
Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.
surf-check
Surf forecast decision engine.
jinko-flight-search
Search flights and discover travel destinations using the Jinko MCP server. Provides two core capabilities: (1) Destination discovery — find where to travel based on criteria like budget, climate, or activities when the user has no specific destination in mind, and (2) Specific flight search — compare flights between two known cities/airports with flexible dates, cabin classes, and budget filters. Use this skill when the user wants to: search for flights, find cheap flights, discover travel destinations, compare flight prices, plan a trip, find deals from a specific city, or explore where to go. Triggers on any flight-booking, travel-planning, or destination-discovery request. Requires the Jinko MCP server connected at https://mcp.gojinko.com.
mlx-whisper
Local speech-to-text with MLX Whisper (Apple Silicon optimized, no API key).