Co APIisrair.co.il ↗
Access Israir route listings, per-date cheapest prices, seat availability, and one-way flight offers via 3 structured JSON endpoints.
What is the Co API?
The Israir API exposes 3 endpoints covering route discovery, a ~6-month price calendar, and per-date flight offers from israir.co.il. Use list_routes to retrieve all departure cities and reachable destinations with their Hebrew names and numeric city IDs. get_price_calendar returns the cheapest total price and seat count for every bookable date on a route, and search_flights returns full offer details including flight numbers, airports, fares by passenger type, and baggage information.
curl -X GET 'https://api.parse.bot/scraper/76570578-db14-425f-a3d8-c673d0827a35/list_routes?origin=TLV' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace israir-co-il-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Israir flights SDK — find cheap dates then fetch flight offers."""
from parse_apis.israir_co_il_api import Israir, InputNotFound
client = Israir()
# List destinations reachable from Tel Aviv.
route = client.routes.get(origin="TLV")
print(f"Destinations from {route.origin}: {route.destinations_count}")
for dest in route.destinations[:3]:
print(f" {dest.city_code} – {dest.city_name} ({dest.country_name})")
# Price calendar: cheapest outbound fares TLV → Rome over the next months.
calendar = route.price_calendar(destination="ROM")
print(f"\nOutbound dates available: {calendar.outbound_count}")
for dp in calendar.outbound_dates[:3]:
print(f" {dp.date} ${dp.cheapest_price} {dp.currency} ({dp.seats} seats)")
# Pick the first available date and search actual flight offers.
cheap_date = calendar.outbound_dates[0]
try:
offer = route.search_flights(
destination="ROM", date=cheap_date.date, limit=5,
).first()
except InputNotFound:
print("Route not found on the site — try different city codes.")
offer = None
if offer is not None:
print(f"\nOffer {offer.package_id}: ${offer.total_price} {offer.currency}")
for seg in offer.segments:
print(f" {seg.flight_number} {seg.departure_airport}→{seg.arrival_airport}"
f" departs {seg.departure_time} ({seg.duration_hours}h, {seg.seats_left} left)")
print("\nexercised: routes.get / price_calendar / search_flights")
Lists the departure cities Israir's flight search offers as origins and the destination cities reachable from a given origin, each with the Hebrew city name shown on the site and the site's numeric city id. origin_offered reports whether the requested origin code appears in the origins list (e.g. FLR/Florence is currently not offered). Destinations are grouped by country and exclude the origin itself. Also returns the Israeli holidays the site highlights in its calendar (dates as dd/mm/yy HH:MM strings as published). Two round trips, fixed cost; names are in Hebrew because that is the site's published vocabulary.
| Param | Type | Description |
|---|---|---|
| origin | string | 3-letter uppercase city code to check as origin and to list destinations from (e.g. TLV, FLR). Codes offered are those in origins[*].city_code. |
{
"type": "object",
"fields": {
"origin": "echo of the requested origin code",
"origins": "array of offered departure cities {city_code, city_name (Hebrew), city_id}",
"holidays": "array of site-highlighted holidays {name, start_date, end_date}",
"destinations": "array of destination cities reachable from origin {city_code, city_name, city_id, country_code, country_name (Hebrew)}",
"origins_count": "integer count of origins",
"origin_offered": "boolean, true when the requested origin is one of the offered departure cities",
"destinations_count": "integer count of destinations"
},
"sample": {
"data": {
"origin": "FLR",
"origins": [
{
"city_id": 703,
"city_code": "RHO",
"city_name": "רודוס"
},
{
"city_id": 1048,
"city_code": "TBS",
"city_name": "טביליסי"
}
],
"holidays": [
{
"name": "חנוכה",
"end_date": "14/12/26 00:00",
"start_date": "04/12/26 00:00"
}
],
"destinations": [
{
"city_id": 5807,
"city_code": "DXB",
"city_name": "דובאי",
"country_code": "AE",
"country_name": "איחוד האמירויות"
},
{
"city_id": 662,
"city_code": "NYC",
"city_name": "ניו יורק",
"country_code": "US",
"country_name": "ארה\"ב"
}
],
"origins_count": 38,
"origin_offered": false,
"destinations_count": 38
},
"status": "success"
}
}About the Co API
Route Discovery
list_routes accepts an optional origin city code (3-letter uppercase, e.g. TLV) and returns two arrays: origins, listing all departure cities Israir offers with city_code, city_name (Hebrew), and city_id; and destinations, listing cities reachable from that origin with city_code, city_name, city_id, country_code, and country_name in Hebrew. The boolean field origin_offered tells you whether the code you passed is a valid departure point. A holidays array surfaces site-highlighted travel periods with start and end dates.
Price Calendar
get_price_calendar takes a required origin and destination code plus an optional adults count (1–9). It returns outbound_dates (origin→destination) and inbound_dates (destination→origin), each entry containing a date (YYYY-MM-DD), cheapest_price (total for all requested adults, in USD as published), currency, and seats count. The calendar spans roughly the next 6 months of bookable dates. Use outbound_count and inbound_count to know how many date entries each direction contains.
Flight Search
search_flights accepts origin, destination, date, and adults and returns an offers array. Each offer includes package_id, origin_airport, destination_airport, total_price, currency, tax, and a passenger_fares array broken down by passenger type with amounts. Flight segment detail covers flight number, scheduled local departure and arrival times, duration, and baggage allowance. The one_way field is always true; this endpoint covers single-direction searches only. Use dates from get_price_calendar.outbound_dates[*].date to know which dates have available flights.
The Co API is a managed, monitored endpoint for israir.co.il — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when israir.co.il changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official israir.co.il API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a fare-alert tool that polls
get_price_calendarfor a route and notifies users whencheapest_pricedrops below a threshold. - Display a heatmap calendar of Israir prices by date using
outbound_dates[*].dateandcheapest_pricefields. - Check remaining seat counts per date via
get_price_calendar.outbound_dates[*].seatsto surface last-seat alerts. - Populate a destination picker by calling
list_routeswith a given origin and reading thedestinationsarray including Hebrew city names. - Retrieve itemized fare breakdowns by passenger type from
search_flights.offers[*].passenger_faresfor display in a booking comparison tool. - Filter available Israir origin cities using
list_routes.originsto validate user-entered departure codes before running a search. - Track baggage allowances and taxes across Israir offers on a specific route and date using
search_flightsresponse fields.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Israir have an official public developer API?+
What does `get_price_calendar` return, and how far ahead does it cover?+
get_price_calendar returns one entry per bookable date for both the outbound (origin→destination) and inbound (destination→origin) directions. Each entry includes the cheapest total price for the requested number of adults, the currency (USD as published), and the seat count on offer. The calendar spans roughly the next 6 months of dates that have available flights.Does `search_flights` support round-trip searches?+
one_way field in every response is always true. The endpoint covers single-direction searches only. To model a round trip, call search_flights twice — once for each direction. You can fork this API on Parse and revise it to add a combined round-trip endpoint if you need bundled pricing.Are child or infant passenger fares returned by the API?+
search_flights endpoint returns passenger_fares broken down by passenger type as published in the offer, which may include non-adult types when the offers contain them. However, the adults input parameter only controls the adult count — there is no dedicated input for children or infants. You can fork this API on Parse and revise it to add child and infant passenger inputs if your use case requires that breakdown.Are city names returned in English?+
list_routes returns city_name and country_name in Hebrew, matching what the site publishes. English names are not currently returned. The API does return city_code (IATA-style 3-letter codes) and country_code which can be mapped to English externally. You can fork this API on Parse and revise it to add an English name lookup layer.