Ceair APIm.ceair.com ↗
Search China Eastern flights, check real-time status, find cheapest travel dates, and look up city/airport codes via the m.ceair.com API.
What is the Ceair API?
This API exposes 4 endpoints covering China Eastern Airlines flight data: search available flights with pricing and cabin details, retrieve real-time flight status including weather conditions at both airports, look up valid city and airport codes, and scan a configurable date window to surface the cheapest flight per day. The find_cheapest_day endpoint is especially useful for flexible-date travel planning across domestic and international routes.
curl -X POST 'https://api.parse.bot/scraper/43fdabd8-4ad8-451f-94fa-d37591a26ef9/search_flights' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"arr_city": "BJS",
"dep_city": "SHA",
"dep_date": "2026-08-26",
"adult_num": "1",
"trip_type": "OW"
}'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 m-ceair-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: China Eastern Airlines SDK — search flights, find cheapest day, check status."""
from parse_apis.China_Eastern_Airlines_API import ChinaEastern, TripType, FlightNotFound
client = ChinaEastern()
# Search one-way flights from Shanghai to Beijing
for offer in client.flight_offers.search(dep_city="SHA", arr_city="BJS", dep_date="2026-08-01", trip_type=TripType.OW, limit=3):
print(offer.flight_no, offer.departure_time, offer.arrival_time, offer.lowest_price)
# Find the cheapest day to fly in a date window
for day in client.day_prices.search(dep_city="SHA", arr_city="BJS", center_date="2026-08-01", days_before=3, days_after=3, limit=3):
print(day.date, day.flight_no, day.lowest_price, day.cabin_class)
# Look up real-time flight status
try:
status = client.flight_statuses.get(flight_no="5137", date="2026-08-01")
print(status.flight_no, status.status, status.scheduled_departure, status.aircraft_type)
except FlightNotFound as exc:
print(f"Flight not found: {exc.flight_no}")
# Browse available cities
city = client.cities.list(limit=1).first()
if city:
print(city.code, city.city_name, city.country_name, city.region)
print("exercised: flight_offers.search / day_prices.search / flight_statuses.get / cities.list")
Search for available flights between departure and arrival cities on a specific date. Returns a flat list of flight offers with pricing, cabin classes, schedules, and aircraft details. Uses city codes (e.g., SHA for Shanghai, BJS for Beijing). Use get_cities to look up valid city codes. Results include the lowest available price per flight across all cabin classes.
| Param | Type | Description |
|---|---|---|
| arr_cityrequired | string | Arrival city code (e.g., BJS for Beijing, HGH for Hangzhou). Use get_cities to find valid codes. |
| dep_cityrequired | string | Departure city code (e.g., SHA for Shanghai, CKG for Chongqing). Use get_cities to find valid codes. |
| dep_daterequired | string | Departure date in YYYY-MM-DD format (must be a future date) |
| adult_num | integer | Number of adult passengers |
| trip_type | string | Trip type: OW (one-way) or RT (round-trip) |
{
"type": "object",
"fields": {
"flights": "array of flight offer objects with flight number, airline, origin/destination, schedule, duration, plane type, terminals, and lowest price",
"resultMsg": "string with result message",
"resultCode": "string indicating success (S200) or error code"
},
"sample": {
"data": {
"flights": [
{
"origin": "SHA",
"duration": 135,
"flightNo": "5099",
"planeType": "919",
"cabinClass": "经济舱",
"originName": "虹桥国际机场",
"airlineCode": "MU",
"airlineName": "东方航空",
"arrTerminal": "T2",
"arrivalTime": "09:15",
"depTerminal": "T2",
"destination": "PEK",
"lowestPrice": 500,
"departureDate": "2026-06-20",
"departureTime": "07:00",
"destinationName": "首都国际机场"
}
],
"resultMsg": "请求成功。",
"resultCode": "S200"
},
"status": "success"
}
}About the Ceair API
Flight Search and Pricing
The search_flights endpoint accepts a departure city code (dep_city), arrival city code (arr_city), and a dep_date in YYYY-MM-DD format, plus optional adult_num and trip_type (OW or RT). It returns an array of flight offer objects containing flight number, airline, origin and destination, scheduled times, total duration, aircraft type, terminal assignments, and the lowest available price per cabin class. City codes follow China Eastern conventions — for example, SHA for Shanghai and BJS for Beijing — and should be validated with get_cities before use.
Real-Time Flight Status
The get_flight_status endpoint takes a flight_no (digits only, without carrier prefix), a date, and an optional carrier code such as MU for China Eastern. The response includes the aocFlightList array, where each entry carries scheduled and actual departure and arrival times, terminal details, aircraft type, current status codes (UNFLY, DEPT, ARR), and weather conditions at both the origin and destination airports. Coverage focuses on China Eastern (MU) operated flights.
City and Airport Reference
The get_cities endpoint requires no inputs and returns a full list of city objects, each with a city code, name, country, region classification, hot status flag, and an array of associated airports. This is the authoritative lookup for valid codes to pass into search_flights or find_cheapest_day. Results are organized into domestic and international categories.
Cheapest-Day Window Search
The find_cheapest_day endpoint centers a date window on center_date and extends it by days_before and days_after. It returns one cheapest_flights entry per day in the window — each with date, flightNo, departureTime, arrivalTime, and lowestPrice — sorted ascending by price so the lowest-cost date appears first. The response also echoes back dep_city, arr_city, center_date, days_before, and days_after so callers can confirm the window that was searched.
The Ceair API is a managed, monitored endpoint for m.ceair.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when m.ceair.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 m.ceair.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?+
- Display live China Eastern flight status, weather, and terminal info on a travel dashboard
- Build a fare calendar that shows the cheapest available flight price for each day in a date range
- Autocomplete city and airport code inputs using the full
get_citiesreference list - Compare one-way vs. round-trip pricing for a given route by calling
search_flightswith differenttrip_typevalues - Alert travelers when a flight transitions from UNFLY to DEPT or ARR status
- Aggregate route pricing data across multiple city pairs for a flight deal newsletter
- Pre-fill booking flows with accurate flight schedule and aircraft type data from
search_flights
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does China Eastern Airlines offer an official developer API?+
What status codes does `get_flight_status` return, and what do they mean?+
aocFlightList entries include a status field that uses codes such as UNFLY (flight has not yet departed), DEPT (departed), and ARR (arrived). Each entry also includes actual and scheduled times, so you can calculate delay durations independently.Does `find_cheapest_day` return all flights for each day or just one?+
lowestPrice, so the cheapest day across the entire window is always first. If you need all available flights for a specific date, use search_flights with that date directly.Does this API cover airlines other than China Eastern?+
get_flight_status endpoint focuses on China Eastern (MU) flights, and search_flights returns inventory from China Eastern routes. Codeshare or interline flights from other carriers are not currently covered. You can fork this API on Parse and revise it to add endpoints targeting other airline sources.