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
- 1Open the widget builder
Visit thelimitlesssky.com/publishers/widget and set your filters (origin, destination, dates) and appearance (light or dark, accent colour, layout).
- 2Copy 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.
- 3Paste 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.
| Parameter | Type | Default | Description |
|---|---|---|---|
from | string | — | Departure airport IATA or ICAO code, e.g. LFMN |
to | string | — | Arrival airport IATA or ICAO code, e.g. EGGW |
fromDate | YYYY-MM-DD | — | Earliest departure date to show |
toDate | YYYY-MM-DD | — | Latest departure date to show |
max | 1–20 | 5 | Maximum number of deals to display |
theme | light | dark | light | Colour scheme of the widget chrome |
accent | hex colour | #0a0a0a | Hover border and CTA colour |
layout | list | compact | grid | list | Card layout style |
title | string | Live empty-leg private jet deals | Heading text inside the widget |
utm | string | — | Your 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.
| Parameter | Type | Default | Description |
|---|---|---|---|
from | string | — | Filter by departure airport code |
to | string | — | Filter by arrival airport code |
fromDate | YYYY-MM-DD | — | Earliest leg date to include |
toDate | YYYY-MM-DD | — | Latest leg date to include |
max | 10–200 | 100 | Number 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=8Widget — Summer Mediterranean deals, auto-resize script
https://thelimitlesssky.com/embed/empty-legs?fromDate=2026-07-01&toDate=2026-08-31&max=10&theme=lightRSS — 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=50RSS — Zurich to Ibiza corridor only
https://thelimitlesssky.com/api/public/empty-legs/rss.xml?from=LSZH&to=LEIB&max=20RSS — Full worldwide feed (default)
https://thelimitlesssky.com/api/public/empty-legs/rss.xml5. 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.