API access
Reading your flight, display and analytics data from your own software.
API access
Premium accounts can read their own flight, display and analytics data
programmatically β for a hotel app, a lobby installation of your own, or
a report that lives somewhere else.
Getting a key
Account menu β API access β Create key. The key is shown once, at
creation. We store only a hash of it, so a key you did not copy cannot be
recovered β create a new one and delete the old.
Keys start with lf_live_. Send it as a bearer token:
curl -H "Authorization: Bearer lf_live_..." \
https://lobbyflight.com/api/v1/displaysA key can be given an expiry date. Do that for anything you hand to an
agency or a contractor.
What you can read
| Method | Endpoint | What it returns |
| --- | --- | --- |
| GET | /api/v1/displays | Every display on your hotel |
|---|---|---|
| GET | /api/v1/displays/{id} | One display's configuration |
| GET | /api/v1/displays/{id}/flights | The flights that display is showing |
| GET | /api/v1/displays/{id}/analytics | Views and interactions for it |
| GET | /api/v1/flights/{airport} | Departures and arrivals for an airport |
| GET | /api/v1/weather/{airport} | Current conditions and forecast |
| GET | /api/v1/analytics | Analytics across the hotel |
Everything is read-only and scoped to the hotel the key belongs to. There
is no endpoint that changes a display; the portal is the only way to
write.
Rate limit
60 requests per minute, counted per key. Over the limit you get a
429 with a Retry-After header saying how many seconds to wait.
If you are polling flights for a screen of your own, once a minute is
plenty β the underlying data does not move faster than your plan's
refresh interval anyway.
When a key stops working
401 β the key is wrong, deleted, or expired. Check the whole string;a truncated key looks valid and is not.
403 β a valid key asking for something belonging to another hotel.429 β the rate limit. Wait for Retry-After.