Changi Airport Timetable Scraper
Pricing
from $1.00 / 1,000 flight rows
Changi Airport Timetable Scraper
Scrapes arrival and departure flight timetables from Changi Airport (SIN).
Changi Airport Timetable Scraper pulls live arrival and departure flight data straight from Changi Airport's (SIN) own flight-status API — the same one powering the airport's official website. Get flight numbers, airlines, scheduled/estimated/actual times, gates, baggage belts, terminals, and flight status in structured JSON, CSV, or Excel, without touching a browser. Run it once, on a schedule, or hook it into your own app via the Apify API.
Why use this scraper?
- Flight tracking dashboards — build a live arrivals/departures board for a travel app or internal tool.
- Passenger meeting & logistics — check gate, belt, and delay status for pickups or ground transport planning.
- Travel & OTA data feeds — enrich itineraries with real-time SIN flight status.
- Research & analytics — study route frequency, delay patterns, or terminal load over time.
Runs on Apify, so you get scheduling, an API for every result, and monitoring/alerting for free — no server or proxy setup needed.
How to use it
- Open the Actor's Input tab.
- Pick a direction: arrivals, departures, or both.
- Optionally set a scheduled date, terminal, and whether to fetch backwards in time from that date.
- Optionally cap the number of results with max items.
- Click Start and download results from the Output tab once the run finishes.
Input
| Field | Type | Description |
|---|---|---|
direction | select | dep (departures only, default), arr (arrivals only), or both |
scheduledDate | date | Flight schedule date, YYYY-MM-DD. Defaults to today. |
terminal | select | Filter by terminal: all (default), 1, 2, 3, or 4 |
prev | boolean | Page backwards in time from the scheduled date/time instead of forwards. Default false. |
maxItems | integer | Cap on results per direction. Default 100; set explicitly to fetch more (or pass null for unlimited). |
proxyConfiguration | proxy | Apify Proxy config, rotated per request to avoid rate limiting. Defaults to Apify Proxy enabled. |
Example input:
{"direction": "both","scheduledDate": "2026-08-02","terminal": "1","prev": false,"maxItems": 100}
Output
Each dataset item is one flight entry. Example:
{"flight_number": "SQ963","direction": "ARR","airline": "SQ","airline_details": { "name": "Singapore Airlines" },"airport_details": { "name": "Jakarta" },"terminal": "3","display_belt": "45","scheduled_date": "2026-08-01","scheduled_time": "20:55","flight_status": "Landed"}
You can download results as JSON, CSV, Excel, or XML from the Output tab, or pull them programmatically via the Apify API.
Main fields
| Field | Description |
|---|---|
flight_number | Flight code, e.g. SQ963 |
direction | ARR or DEP |
airline_details.name | Airline name |
airport_details.name | Origin (arrivals) or destination (departures) airport |
terminal | Changi terminal |
display_gate | Departure gate (departures) |
display_belt | Baggage belt (arrivals) |
scheduled_date / scheduled_time | Scheduled date and time |
estimated_timestamp / actual_timestamp | Estimated / actual movement time |
flight_status | Current status, e.g. Confirmed, Landed, New Gate |
Cost
This is a lightweight API-based scraper — no browser rendering. A run fetching a few hundred flights typically finishes in well under a minute and uses minimal compute units, so it comfortably fits within Apify's free tier for regular use.
Tips
- Use
maxItemsto limit runs when you only need the next handful of flights. - Combine
terminalwithdirectionto build a focused board for one terminal. - Schedule the Actor (Apify's built-in Schedules) to keep a dataset continuously refreshed.
FAQ & disclaimer
This Actor reads publicly accessible flight data exposed by Changi Airport's own website. Flight information can change without notice — always verify time-critical details (gate, delay, cancellation) directly with the airline or airport before travelling. Found a bug or have a feature request? Use the Actor's Issues tab.