# Bart — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Track live BART train departures and arrival estimates across all Bay Area stations in real-time. Find your nearest station and see exactly when the next train is arriving on every platform.

**Category:** Maps & Geospatial | **Website:** [www.bart.gov/schedules/eta](https://www.bart.gov/schedules/eta) | **Docs:** [parse.bot/marketplace/2a91af22-6734-4f42-b21a-964cd321673c/bart-gov-api](https://parse.bot/marketplace/2a91af22-6734-4f42-b21a-964cd321673c/bart-gov-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-bart-gov-api-2a91af22/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_alerts

Fetch all current BART alerts and advisories including service alerts, planned advisories, escalator outages, and elevator outages. Returns all categories in a single response.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-bart-gov-api-2a91af22/get_alerts \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_departures

Fetch real-time departure estimates for a specific BART station. Returns platform-level departure information with destinations, estimated times, and train car counts. Invalid or unrecognized station codes return a stale_input error.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `station_code` | string | Yes | Abbreviated BART station code (e.g. '12TH', 'EMBR', 'MONT', 'ASHB'). Must be an exact code from get_stations; full station names are not accepted. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-bart-gov-api-2a91af22/get_departures \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"station_code":"<string>"}'
```

### get_stations

Fetch the list of all BART stations and their abbreviated codes. Each station has a human-readable name and a short code (e.g. 'EMBR' for Embarcadero). These codes are required input for get_departures.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-bart-gov-api-2a91af22/get_stations \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```
