Train tickets
al_trainsSearch train tickets between two Iranian cities on a travel date and optional return day, returning company, wagon class, departure and arrival times, price in Toman, and seats left; filter sold-out trains.
Instructions
Search train tickets between two Iranian cities on one day: company, class, times, price and seats left.
Use for "trains from Tehran to Mashhad on 1405-08-20". Prices are Toman per adult. seats_left 0 means sold out.
class is the wagon name (stars, berths, meals) and class_code its type: S saloon seats, EC 4-berth
compartment, EL 6-berth compartment, V special. Pass return_date for the way back. Call al_trains_cheapest to
compare prices over the following days. While the rail suppliers are in their maintenance window (usually
after midnight) the site answers with an error; try again in a few minutes.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Travel date, Gregorian 2026-11-11 or Jalali 1405-08-20 (the year tells which). | |
| sort | No | Order of the results. | departure |
| limit | No | Maximum number of results. | |
| origin | Yes | City name in Persian or English (تهران, Mashhad) or its code (THR, MHD); al_cities lists them. | |
| passengers | No | Number of travellers; seats_left is for this group size. | |
| destination | Yes | City name in Persian or English (تهران, Mashhad) or its code (THR, MHD); al_cities lists them. | |
| return_date | No | Return day for a round trip (same formats as `date`); adds a `returning` list. | |
| ticket_type | No | family = mixed compartments; female or male = single-gender compartments (seat counts differ). | family |
| wagon_class | No | Keep only this class code from the results, e.g. EC (compartment), EL (6-berth), S (saloon), V. | |
| only_available | No | Hide sold-out trains. |