---
title: "Read a published ferry timetable"
method: GET
path: "/v1/public/schedules/{routeId}"
tags: ["Schedules"]
---

# Read a published ferry timetable

`GET /v1/public/schedules/{routeId}`

## Request

- Base URL: `https://sweetsaverfare.com`
- URL: `https://sweetsaverfare.com/v1/public/schedules/{routeId}`
- Auth: none required

Returns saved departure times, effective periods, date exceptions, source links, and freshness for one published schedule route.

## Path parameters

- `routeId` string, required

## Query parameters

- `date` string, date

## Response `200`

Schedule or explicit unavailable state

- object
  - `route` object, required
    - `id` string, required
    - `slug` string, required
    - `from_terminal` string
    - `to_terminal` string
    - `from_name` string, required
    - `to_name` string, required
    - `region` string
    - `source_url` string, uri, required
    - `fare_route_id` string, nullable
    - `coverage` 'verified' | 'pending_verification' | 'source_unavailable' | 'unsupported_format' | 'no_published_period', required
    - `observed_at` string, date-time, nullable
    - `stale_after` string, date-time, nullable
    - `content_changed_at` string, date-time, nullable
    - `effective_to` string, date, nullable
    - `pdf_sources` object[]
      - `document_id` string, uuid, required
      - `url` string, uri, required
      - `title` string, required
      - `effective_from` string, required
      - `effective_to` string, required
      - `last_source_check` string, nullable, required
      - `source_check_error` string, nullable, required
  - `snapshot` object, nullable, required
    - `periods` object[]
      - `from` string, required
      - `to` string, required
      - `departures` object[], required
        - `weekday` integer, required
        - `departure_time` string, required
        - `arrival_time` string, nullable, required
        - `arrival_day_offset` integer, nullable, required
        - `only_dates` string[], required
        - `excluded_dates` string[], required
        - `notes` string[], required
        - `stop_details` string, required
      - `no_service_weekdays` integer[], required
      - `source_url` string, uri, required
      - `source_format` 'pdf' | 'html'
      - `document` object
        - `id` string, uuid, required
        - `version_id` string, uuid, required
        - `title` string, required
        - `listing_url` string, uri, required
        - `pages` integer[], required
        - `content_hash` string, required
      - `last_source_check` string, date-time, nullable
      - `source_check_error` string, nullable
    - `observed_at` string, date-time, nullable
    - `stale_after` string, date-time, nullable
    - `content_changed_at` string, date-time, nullable
    - `source_status` string
    - `data_source` 'published_schedule' | 'demo'
    - `parser_version` string
    - `observation_trace_id` string
    - `source_url` string, uri
  - `date` string, date, nullable, required
  - `state` string, required
  - `departures` ScheduleDeparture[], required
    - `weekday` integer, required
    - `departure_time` string, required
    - `arrival_time` string, nullable, required
    - `arrival_day_offset` integer, nullable, required
    - `only_dates` string[], required
    - `excluded_dates` string[], required
    - `notes` string[], required
    - `stop_details` string, required
  - `explanation` string, required
  - `disclaimer` 'These are published departure times, not a live sailing-status or booking-space check. Confirm your sailing with BC Ferries before travelling.', required
  - `canonical_url` string, uri, required
  - `canonical_path` string, required
  - `timezone` 'America/Vancouver', required

## Other responses

- `400`: Invalid date
- `404`: Unknown schedule route
- `429`: Too many requests
- `500`: Internal server error

---

[API](https://skmtc.dev/sweetsaverfare/apis/sweet-saver-fare-public-api.md) · [All operations](https://skmtc.dev/sweetsaverfare/apis/sweet-saver-fare-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sweetsaverfare/apis/sweet-saver-fare-public-api/revisions/102cb8af7798?raw)
