Reference · built on requestCommons signalAviation & marine

Schiphol Public Flight API

Arrivals, departures, destinations, airlines and aircraft types for Amsterdam Airport Schiphol as JSON with a developer key.

About

Royal Schiphol Group runs a developer portal at developer.schiphol.nl whose Public Flight API serves current and scheduled passenger and cargo flights at Amsterdam Airport Schiphol, carried out by more than 90 airlines. Version 4 puts flights, destinations, airlines and aircrafts in one OpenAPI specification. A flight carries a publicFlightState, estimated and actual landing or off-block times, gate, terminal, baggageClaim and codeshares. Calls go to api.schiphol.nl/public with an OAuth 2.0 client-credentials token that lasts 30 minutes; the public tier allows 100 requests a minute.

An operator watches the flights your guests or pickups are on and proposes a shuttle hold, a pre-arrival note or a late checkout for your approval, showing the flight state it read.

This is a reference listing. It documents what Fibric would read from Schiphol Public Flight API and what it could propose, based on the publisher's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • GET /public-flights/v4/flights filtered by scheduleDate, scheduleTime, flightName, flightDirection (a or d), airline, airlineCode or route
  • Departure states SCH, DEL, WIL, GTO, BRD, GCL, GTD, DEP, CNX, GCH and TOM in publicFlightState
  • Arrival states SCH, AIR, EXP, FIR, LND, FIB, ARR, DIV, CNX and TOM, where EXP means the estimated landing deviates 10 or more minutes
  • Per flight: estimatedLandingTime, actualLandingTime, publicEstimatedOffBlockTime, actualOffBlockTime, gate, terminal, baggageClaim, codeshares and aircraftType
  • Destinations, airlines and aircraft types as reference lists under the same specification
  • Pages of at most 20 flights, with page and pageSize parameters and Link headers for next, prev, first and last

Proposed actions

Read-only. This feed informs operators; it changes nothing.

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Hold the hotel shuttle for a late arrival

    Poll the arriving flight for your guest. When publicFlightState shows EXP or LND with a later estimatedLandingTime, the operator proposes shifting the pickup and quotes the belt from baggageClaim.

    With Shuttle Timing

  • Warn a guest whose inbound flight is cancelled or diverted

    Read the guest's flight on the day of arrival. On CNX or DIV the operator proposes a pre-arrival message and a room-hold change, and leaves the flight record it used.

    With Arrival Prep, Guest Requests

  • Offer late checkout when a departure slips

    Check the departing flight for guests checking out today. When publicFlightState shows DEL or the off-block time moves past noon, the operator proposes a late checkout offer for your approval.

    With Late Checkout

Requirements

  • A developer portal account with an application whose subscription to the API shows Approved; some APIs need manual approval
  • A token refresh scheduled before the 30-minute expiry, with Accept: application/json on each call
  • The flightName, airlineCode or route values for the flights your guests or pickups are on
  • Use limited to helping actual passengers or people picking up actual passengers, as the Flight API conditions require
Authentication
OAuth 2.0 client credentials. You register, create an application to get a Client ID and a Client Secret shown once, subscribe to the API, then POST grant_type=client_credentials to api.auth.schiphol.nl/oauth/token and send the JWT as a Bearer header.

Limits

  • Public tier: 100 requests a minute; a 429 carries a Retry-After header to honour
  • Data from the Flight API may be stored for at most 24 hours and may not be distributed, sold or shared with other parties
  • The conditions exclude uses unrelated to travel, including competitive analysis and Regulation 261/2004 claims
  • The legacy platform with app_id, app_key and ResourceVersion headers is being decommissioned in October 2026; new paths carry the /public prefix and the version

Access and pricing

Reference listing. Public feed access is separate from Fibric integration. If you request this feed, your quote covers the build, usage, and support.

Request Schiphol Public Flight API ↗

Questions and answers

How do I authenticate?
Exchange your Client ID and Client Secret for a JWT at api.auth.schiphol.nl/oauth/token with grant_type=client_credentials and the audience api.schiphol.nl/public. The token expires in 1800 seconds. Send it as Authorization: Bearer on calls to api.schiphol.nl/public/public-flights/v4/flights.
What do the flight states mean?
Departures move through SCH, WIL, GTO, BRD, GCL, GTD and DEP, with DEL for a delay over 10 minutes, GCH for a gate change and CNX when cancelled. Arrivals move through SCH, AIR, EXP, FIR, LND, FIB and ARR, with DIV when diverted. TOM means the date has slipped to tomorrow.
How often should I poll?
The API best practices suggest caching real-time arrivals and departures for 15 to 30 seconds, flight status for 30 to 60 seconds, schedules for 5 to 15 minutes and static reference data for 24 hours, and backing off exponentially on 429 or 5xx responses.
Ask about Schiphol Public Flight API

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.