kiwi.com
Cheapest flights across airlines that do not interline, including self-transfer combinations no airline or OTA sells, priced for the whole party.
Skill by overseers-desk
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/overseers-desk-kiwi-com
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/kiwi-com
Tools it pre-approves 2
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Bash,Read
What's inside
- Skill name
kiwi.com- Description
- Cheapest flights across airlines that do not interline, including self-transfer combinations no airline or OTA sells, priced for the whole party.
- License
- MIT
- Allowed tools
- Bash,, Read
- Instructions
- 98 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Pre-approves some shell commands
Agent Skills spec issues
- name: only lowercase letters, digits and single hyphens allowed
Files (2)
- SKILL.md
- search.py
SKILL.md (first lines)
# kiwi.com
Kiwi's own front end reads a public GraphQL endpoint,
`https://api.skypicker.com/umbrella/v2/graphql`, which answers anonymously
over plain HTTPS. `content-type: application/json` is the only header it
needs. The script below resolves the route's codes to Kiwi place ids and runs
the search, two requests in all.
The query and the answer follow `FLIGHT-SEARCH.md`. What follows is only where
this site departs from it.
## Prerequisites
None. No credentials, no config keys, no browser.
## Search fares
```bash
${CLAUDE_PLUGIN_ROOT}/skills/kiwi.com/search.py SYD MEL 2026-10-14
${CLAUDE_PLUGIN_ROOT}/skills/kiwi.com/search.py BNE LHR 2026-11-05 --return 2026-11-19 --limit 5
${CLAUDE_PLUGIN_ROOT}/skills/kiwi.com/search.py BNE TBS 2026-09-05 --currency AUD --json
${CLAUDE_PLUGIN_ROOT}/skills/kiwi.com/search.py BNE LON 2026-11-05 --cabin BUSINESS --adults 2
```
## Parameters
- `origin`, `dest` — an airport code resolves to that airport; a code Kiwi
knows only as a metro area resolves to the whole city, so `LON` searches
every London airport at once. Resolution is a `places` lookup, and a code
Kiwi does not know is refused with `bad route:`.
- `--currency CCC` — passed through, and the answer comes back in it (`AUD`
and `EUR` exercised live). Omitted, the endpoint quotes **EUR**, whatever
the route or market; the text header and the JSON `currency` say which
currency the numbers are in either way.
- `--limit N` — the endpoint returns at most 50 itineraries per search, so a
larger `--limit` still shows 50. `totalResults` is Kiwi's pool count for the
search, and it saturates at 50 as well: a big route reports 50 rather than
the true total.
- `--adults` / `--children` — at most 9 adults and children in total. A larger
party comes back empty from the endpoint, so the cap is enforced at
validation instead.
- `--cabin` — all four contract cabins are sold. `FIRST` maps to Kiwi's
`FIRST_CLASS`. Kiwi may still return a mixed-cabin itinerary; each
segment's own cabin is in the JSON as `segments[].cabinClass`.
- `--leg` multi-city — wired to the endpoint's `multicityItineraries` field,
but that field answered 0 itineraries for every anonymous search tried,
including city pairs its one-way field prices freely. The text answer says
so under `No itineraries`. Treat multi-city as unusable here and price the
legs as separate one-ways.
## Output
The contract's keys, plus these, per itinerary:
- `selfTransfer` — true where Kiwi has stitched carriers together itself
(virtual interlining). The traveller collects bags, clears immigration and
checks in again at that connection, and a missed connection is covered by
the Kiwi Guarantee rather than by an airline. The text answer prints a
`self-transfer:` line for such an itinerary.
- `pnrCount` — how many separate tickets the itinerary is. Above 1 means
separate bookings under one Kiwi order.
- `bagsIncluded` — `{handBags, checkedBags}`, the pieces in the quoted price.
Prices are quoted with no bags bought, so the cheapest rows are usually
hand-baggage only or nothing at all. A bag is priced later in Kiwi's
booking flow and is not in these totals.
- `bookingOptions[]` — every seller Kiwi lists for the itinerary, each with
`seller`, `price` and `bookingUrl`. The contract's `seller` and
`bookingUrl` are the first, which is the cheapest. The URL is a kiwi.com
deep link roughly a kilobyte long, carrying the booking token; the text
answer names the seller only and leaves the link to `--json`.
- `segments[].cabinClass` and `segments[].selfTransferBefore` — the cabin
actually sold on that segment, and whether the connection before it is the
self-transfer.
Two shapes to know when reading amounts and times. `equipment` is always
null: the endpoint carries no aircraft type. On a return or multi-city,
`durationMinutes` is the sum of the legs' elapsed times, which is Kiwi's own
figure, not the wall-clock span from the first departure to the last arrival.
## Failure modes
- `bad route:` / `bad date:` / `bad leg:` / `bad passenger count:` /
`bad cabin:` / `bad currency:` / `bad arguments:` — exit 2, refused before
any request. `bad route:` also covers a code the `places` lookup cannot
match. Dates more than a year out are refused: Kiwi does not sell that far.
- `request rejected:` — exit 3, the endpoint refused the search: an HTTP 4xx
or 5xx with the GraphQL error text echoed, or an `AppError` result with its
code and message.
- `transport failure:` — exit 4, the host was unreachable, timed out, or
answered something that is not JSON. Usually transient.
- `unexpected payload:` — exit 5, an answer arrived but the schema no longer
matches the query (a GraphQL validation complaint, or a result without an
itineraries list). The endpoint is versionless and changes without notice.
- No throttling was seen across the runs behind this file, some 30 searches
in a few minutes, and there is no auth to lose. A `request rejected:` burst
would be the first sign that changed.From overseers-desk/magazines, MIT.
More from overseers-desk/magazines
- 0.580score
officeworks.com.au
overseers-desk
Officeworks printing prices: flyer and document-print quantity ladders, per size, paper stock, siding and colour.
SkillAFreshness: A★ 1Claude Code +9 - 0.580score
ihg.com
overseers-desk
Anonymous hotel availability, pricing and search; plus logged-in IHG One Rewards member data (your own stays, bookings, points and reward activity) via…
SkillAFreshness: A★ 1Claude Code +9 - 0.580score
interlinetravel.com.au
overseers-desk
Interline Travel cruise deals at industry staff rates on interlinetravel.com.au: prices, availability, interline rates, search.
SkillAFreshness: A★ 1Claude Code +9 - 0.580score
marriott.com
overseers-desk
find hotel properties near a destination, lookup by property code; info (name, brand, address, coords, images, reviews).
SkillAFreshness: A★ 1Claude Code +9 - 0.580score
ndis.gov.au
overseers-desk
Australia's official NDIS provider register: search registered disability providers by suburb/postcode and radius, or confirm whether a named provider (or…
SkillAFreshness: A★ 1Claude Code +9 - 0.580score
premierinn.com
overseers-desk
Premier Inn (Whitbread) hotel room availability, live nightly pricing, room-type inventory, rate plans (Flex/Standard/Non-Flex), occupancy rules.
SkillAFreshness: A★ 1Claude Code +9 - 0.543score
linkedin
overseers-desk
search people, and search inside named members' connections, read profiles, read a job posting, check keywords, verify connect eligibility, find role/company.
SkillBFreshness: B★ 1Claude Code +9 - 0.540score
facebook
overseers-desk
find posts in a group or across Facebook by keyword; search people, read profiles, extract hashtags and tagged people, dump reel comments, audit group-post…
SkillBFreshness: B★ 1Claude Code +9 - 0.540score
beatthatflight.com.au
overseers-desk
Cheapest fares on any route worldwide, shopped across dozens of online agencies at once: one-way, return or multi-city, with the agency's booking link.
SkillBFreshness: B★ 1Claude Code +9 - 0.540score
csair.com
overseers-desk
China Southern (CZ) fares and itinerary availability by route and date, including China domestic + international through-fares OTAs do not price.
SkillBFreshness: B★ 1Claude Code +9 - 0.540score
otter.ai
overseers-desk
Otter.ai recordings: list, rename, trash, fetch speaker-labelled transcripts, and download mp3 audio from a logged-in Otter account.
SkillBFreshness: B★ 1Claude Code +9 - 0.540score
instagram
overseers-desk
Search Instagram accounts, read profiles, and enumerate a profile's followers or following; find someone by name or handle.
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 36
- Last commit (this folder)
- Aug 22, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/overseers-desk/magazines
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from overseers-desk
- 0.580score
officeworks.com.au
overseers-desk
Officeworks printing prices: flyer and document-print quantity ladders, per size, paper stock, siding and colour.
SkillAFreshness: A★ 1Claude Code +9 - 0.580score
ndis.gov.au
overseers-desk
Australia's official NDIS provider register: search registered disability providers by suburb/postcode and radius, or confirm whether a named provider (or…
SkillAFreshness: A★ 1Claude Code +9 - 0.580score
ihg.com
overseers-desk
Anonymous hotel availability, pricing and search; plus logged-in IHG One Rewards member data (your own stays, bookings, points and reward activity) via…
SkillAFreshness: A★ 1Claude Code +9 - 0.580score
interlinetravel.com.au
overseers-desk
Interline Travel cruise deals at industry staff rates on interlinetravel.com.au: prices, availability, interline rates, search.
SkillAFreshness: A★ 1Claude Code +9 - 0.580score
marriott.com
overseers-desk
find hotel properties near a destination, lookup by property code; info (name, brand, address, coords, images, reviews).
SkillAFreshness: A★ 1Claude Code +9 - 0.580score
premierinn.com
overseers-desk
Premier Inn (Whitbread) hotel room availability, live nightly pricing, room-type inventory, rate plans (Flex/Standard/Non-Flex), occupancy rules.
SkillAFreshness: A★ 1Claude Code +9
Cite this page
kiwi.com skill. Agent Mart. https://agentmart.dev/skills/overseers-desk-kiwi-com (last updated 2026-10-24)