Airlinequality APIairlinequality.com ↗
Access airline reviews, ratings, photos, and search from Airlinequality.com. 5 endpoints cover review listings, summary ratings, photo galleries, and keyword search.
What is the Airlinequality API?
The Airlinequality.com API provides structured access to airline reviews and ratings data across ~580 airlines indexed on the site. Five endpoints cover everything from fetching the full airline list via get_airline_list to paginated per-airline reviews, aggregate summary ratings, photo galleries, and keyword-based search across airline, airport, lounge, and seat review content.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/8fa550cd-95a3-48de-abcf-377ab4192c43/get_airline_list' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace airlinequality-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Airline Quality API — browse airlines, read reviews, view photos."""
from parse_apis.Airline_Quality_API import AirlineQuality, Cabin, AirlineNotFound
client = AirlineQuality()
# List all airlines — single-page response with ~580 entries.
for airline in client.airlines.list(limit=5):
print(airline.name, airline.slug)
# Drill into a specific airline's economy reviews.
ba = client.airline("british-airways")
for review in ba.reviews.list(cabin=Cabin.ECONOMY, limit=3):
print(review.title, review.rating, review.author, review.country)
# Get summary ratings — overall score and per-category breakdown.
rating = ba.ratings()
print(rating.overall_rating, rating.review_count, rating.category_ratings)
# Browse the airline's photo gallery via the rating's review_id.
for photo in rating.photos.list(limit=3):
print(photo.url, photo.thumbnail)
# Search across all content by keyword.
result = client.search_results.search(query="singapore airlines", limit=1).first()
if result:
print(result.title, result.url, result.snippet)
# Typed error handling for a non-existent airline.
try:
client.airline("nonexistent-airline-xyz").ratings()
except AirlineNotFound as exc:
print(f"Not found: {exc.slug}")
print("exercised: airlines.list / reviews.list / ratings / photos.list / search_results.search")
Get the full list of airlines with their names and slugs. Returns all airlines indexed on the site in a single response. No pagination — all ~580 airlines come in one call.
No input parameters required.
{
"type": "object",
"fields": {
"total": "integer total number of airlines",
"airlines": "array of objects each with 'name' (string) and 'slug' (string)"
},
"sample": {
"data": {
"total": 582,
"airlines": [
{
"name": "AB Aviation",
"slug": "ab-aviation"
},
{
"name": "Aegean Airlines",
"slug": "aegean-airlines"
}
]
},
"status": "success"
}
}About the Airlinequality API
Airline List and Review Data
get_airline_list returns all ~580 airlines in a single call, each with a name and slug field. The slug is the key identifier used by the other endpoints. get_airline_reviews accepts that slug and returns paginated review objects — each containing rating, title, author, country, date, verified status, full review text, and a set of category sub-ratings. You can filter results by cabin class and control pagination with page and limit parameters. The total_reviews field tells you how many reviews exist for the current filter before you paginate.
Summary Ratings and Photos
get_airline_summary_ratings returns an airline's overall_rating out of 10, a review_count, and a category_ratings object breaking down scores by categories such as Food & Beverages and Seat Comfort. It also returns a review_id string — this ID is required to call get_airline_photos, which returns an array of photo objects each containing a full-size url, a thumbnail URL, and a caption. Note that photos are keyed by review_id, not by slug, so get_airline_summary_ratings is a prerequisite step.
Search Across Review Types
search_reviews accepts a query string and returns matching results across airline reviews, seat reviews, lounge reviews, and airport reviews. Each result includes a title, url, and snippet. This makes it possible to surface relevant review pages for multi-word queries like 'business class Emirates' or broad terms like 'economy' without knowing a specific airline slug in advance.
The Airlinequality API is a managed, monitored endpoint for airlinequality.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when airlinequality.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official airlinequality.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build an airline comparison tool using
overall_ratingandcategory_ratingsfrom multiple carriers - Track verified traveler sentiment over time using the
dateandverifiedfields fromget_airline_reviews - Filter business class reviews for a specific airline using the
cabinparameter onget_airline_reviews - Populate an airline profile page with photos using
get_airline_photosafter resolving thereview_id - Implement a search feature across lounge, seat, and airport reviews using
search_reviews - Aggregate review counts and category breakdowns across all ~580 airlines for fleet-wide analysis
- Surface top-rated airlines by category (e.g. Seat Comfort) using
category_ratingsfrom summary data
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Airlinequality.com (Skytrax) have an official developer API?+
How does pagination work in get_airline_reviews, and can I filter by cabin class?+
page integer and a limit integer to control which slice of results is returned. The response includes total_reviews so you can calculate the full page count. The optional cabin parameter filters reviews to a specific cabin class — for example, economy or business. All three parameters are optional; omitting them returns the first page at the default limit with no cabin filter applied.Why does get_airline_photos require a review_id instead of a slug?+
review_id, not the airline slug. You obtain that review_id from the get_airline_summary_ratings response. This means you need to call get_airline_summary_ratings first, then pass its review_id to get_airline_photos.Does the API return airport or lounge reviews as structured data with individual ratings?+
search_reviews does surface airport and lounge review pages in its results, but returns only title, url, and snippet — not the full review text or sub-ratings for those categories. You can fork this API on Parse and revise it to add dedicated airport or lounge review endpoints.Are there any coverage gaps I should be aware of?+
date field on each review object is the closest proxy for recency filtering. You can fork this API on Parse and revise it to add date-range filtering or a new-reviews-since endpoint.