Publisher integration guide

Everything you need to embed live empty-leg private jet deals on your site — whether you drop in an iframe widget, consume the RSS feed, or build a custom integration.

1. SETUP

Get a live widget in two minutes

  1. 1
    Open the widget builder

    Visit thelimitlesssky.com/publishers/widget and set your filters (origin, destination, dates) and appearance (light or dark, accent colour, layout).

  2. 2
    Copy the embed code

    Choose the fixed-height iframe for simplicity, or the auto-resizing script version if you want the frame to grow and shrink with its content — no scrollbars.

  3. 3
    Paste into your CMS

    Drop the HTML into any page, post, sidebar or template. The widget works inside WordPress, Ghost, Webflow, Framer, static site generators, and plain HTML.

The credit link to Limitless Sky is baked into the widget footer. Leaving it visible is the entire syndication licence — there is no separate contract to sign.

2. WIDGET PARAMETERS

Widget URL query parameters

Pass these as query strings on the widget base URL /embed/empty-legs.

ParameterTypeDefaultDescription
fromstringDeparture airport IATA or ICAO code, e.g. LFMN
tostringArrival airport IATA or ICAO code, e.g. EGGW
fromDateYYYY-MM-DDEarliest departure date to show
toDateYYYY-MM-DDLatest departure date to show
max1–205Maximum number of deals to display
themelight | darklightColour scheme of the widget chrome
accenthex colour#0a0a0aHover border and CTA colour
layoutlist | compact | gridlistCard layout style
titlestringLive empty-leg private jet dealsHeading text inside the widget
utmstringYour UTM source tag for traffic attribution

3. RSS PARAMETERS

RSS feed query parameters

The RSS endpoint is /api/public/empty-legs/rss.xml. It returns valid RSS 2.0 with Atom self-link, W3C-valid markup, and full item descriptions.

ParameterTypeDefaultDescription
fromstringFilter by departure airport code
tostringFilter by arrival airport code
fromDateYYYY-MM-DDEarliest leg date to include
toDateYYYY-MM-DDLatest leg date to include
max10–200100Number of items in the feed

The feed carries a ttl of 15 minutes and is cached for 5 minutes. Aggressive polling faster than the cache window will not yield fresh data and may trigger rate limits.

4. EXAMPLE URLS

Copy-paste examples

Widget — Nice to London, dark theme, compact cards

https://thelimitlesssky.com/embed/empty-legs?from=LFMN&to=EGGW&theme=dark&layout=compact&max=8

Widget — Summer Mediterranean deals, auto-resize script

https://thelimitlesssky.com/embed/empty-legs?fromDate=2026-07-01&toDate=2026-08-31&max=10&theme=light

RSS — All legs departing Geneva next 30 days

https://thelimitlesssky.com/api/public/empty-legs/rss.xml?from=LSGG&fromDate=2026-07-01&toDate=2026-07-31&max=50

RSS — Zurich to Ibiza corridor only

https://thelimitlesssky.com/api/public/empty-legs/rss.xml?from=LSZH&to=LEIB&max=20

RSS — Full worldwide feed (default)

https://thelimitlesssky.com/api/public/empty-legs/rss.xml

5. TROUBLESHOOTING

Common issues and fixes

Widget shows no deals

Empty-leg inventory is live and route-specific. If no legs match your filter, the widget displays a "No empty-leg flights currently match this filter" message. Try widening the date range, removing the to filter, or checking a busier corridor such as London–Nice or Zurich–Geneva.

Iframe height is wrong or scrollbars appear

Use the auto-resizing snippet (the one with the postMessage listener) instead of the fixed-height iframe. The widget broadcasts its content height to the parent window automatically. If you must use a fixed height, set it to at least 520 px for the list layout or 360 px for compact.

Feed validates but readers show old items

RSS readers cache aggressively. The feed itself updates every 5 minutes with a Cache-Control: max-age=300 header. If your reader still shows stale data, check its own refresh settings or force a manual refresh.

CORS error in the browser console

The RSS endpoint sends Access-Control-Allow-Origin: * and supports OPTIONS preflight. If you see a CORS error, verify you are calling the HTTPS URL (not HTTP) and that your fetch request does not send custom headers that are not whitelisted.

Credit link is missing or hidden

The credit footer is a mandatory part of the syndication licence. If it is not visible, check that your iframe is tall enough and that no parent CSS (e.g. overflow: hidden) is clipping the bottom of the widget. Do not hide it via CSS — doing so revokes your licence to use the widget.

Widget styling conflicts with my site

The widget loads inside an isolated iframe, so your parent page CSS cannot leak in and vice-versa. If colours look off, adjust the theme and accent parameters. For total control, consume the RSS feed and render cards with your own markup.

6. LICENCE

Free to use — one condition

You may embed the widget or consume the RSS feed on any free or paywalled property, in any language, with no traffic cap and no fee. The only requirement is that the visible credit link back to Limitless Sky remains intact and crawlable.

Permitted:

  • Embedding on commercial and non-commercial sites
  • Translating, summarising or reordering RSS items
  • Wrapping the widget in your own layout or surrounding it with ads
  • Monetising traffic that arrives via the widget or feed

Not permitted:

  • Removing, hiding or obfuscating the credit link
  • Claiming the inventory as your own or re-selling raw feed access
  • Scraping faster than the 5-minute cache window

For a co-branded widget, webhook push delivery, or affiliate revenue share on confirmed bookings, email partners@thelimitlesssky.com.