# Trainline Local Transport API Documentation

<p><strong>Trainline Local Transport API Documentation</strong> Read local transport add-ons that cover the offers of a journey: PlusBus and travelcard fares with the zone, the price per fare category and the period of validity. Each add-on belongs to one offer id. An offer without add-on returns an empty list and is not billed.</p>

- **Documentation:** [https://scrappa.co/docs/trainline-api/trainline_local_transport](https://scrappa.co/docs/trainline-api/trainline_local_transport)
- **API group:** Trainline API
- **Endpoint:** `GET https://scrappa.co/api/trainline/journeys/local-transport`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `search_id` | string | Yes | search_id of a journey search answer. |
| `alternative_ids` | string | Yes | Comma separated offer ids (offers[].id), 1 to 10. |
| `currency` | string | No | GBP or EUR. Use the same value as in the search. |

## Example response

```json
{
    "data": {
        "currency": "GBP",
        "search_id": "1ab6ab81-b316-4f2e-ba21-df3055a8e3cc",
        "alternatives": [
            {
                "options": [
                    {
                        "type": "plusbus",
                        "fares": [
                            {
                                "name": "PlusBus Day",
                                "zone": "Manchester+Bus",
                                "price": {
                                    "amount": 4.9,
                                    "currency": "GBP"
                                },
                                "category": "Peak",
                                "passengers": 1,
                                "valid_from": "2026-11-03T11:19:00+00:00",
                                "valid_until": "2026-11-04T04:30:00+00:00"
                            }
                        ]
                    },
                    {
                        "type": "travelcard",
                        "fares": [
                            {
                                "name": "Anytime Day Travelcard",
                                "zone": "London Travelcard Zones 1-4",
                                "price": {
                                    "amount": 16.6,
                                    "currency": "GBP"
                                },
                                "category": "Peak",
                                "passengers": 1,
                                "valid_from": "2026-11-03T00:00:00+00:00",
                                "valid_until": "2026-11-04T04:30:00+00:00"
                            },
                            {
                                "name": "Off-Peak Day Travelcard",
                                "zone": "London Travelcard Zones 1-6",
                                "price": {
                                    "amount": 16.6,
                                    "currency": "GBP"
                                },
                                "category": "Off-Peak",
                                "passengers": 1,
                                "valid_from": "2026-11-03T00:00:00+00:00",
                                "valid_until": "2026-11-04T04:30:00+00:00"
                            },
                            {
                                "name": "Anytime Day Travelcard",
                                "zone": "London Travelcard Zones 1-6",
                                "price": {
                                    "amount": 23.6,
                                    "currency": "GBP"
                                },
                                "category": "Peak",
                                "passengers": 1,
                                "valid_from": "2026-11-03T00:00:00+00:00",
                                "valid_until": "2026-11-04T04:30:00+00:00"
                            }
                        ]
                    }
                ],
                "alternative_id": "6f3c35e3-7877-42a1-a1c9-72f338b722bc"
            }
        ]
    },
    "meta": {
        "billable": true,
        "endpoint_family": "journeys_local_transport"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A required parameter is missing or invalid. This response is not billable. |
| 503 | Upstream Unavailable | Trainline did not answer in time. Scrappa retries on other exits first. This response is not billable. Retry after a few seconds. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
