Wsf Schedule API (1.0.0)

Download OpenAPI specification:

Wsf Schedule API - Washington State Department of Transportation APIs

active-seasons

Active schedule seasons for WSF routes.

List all active schedule seasons with dates and PDF URLs.

Responses

Request samples

import { fetchActiveSeasons } from 'ws-dottie/wsf-schedule/core';

const data = await fetchActiveSeasons({
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API (showing first item of 2 total)

[]

Get sailing schedule for a specific route and trip date.

Responses

Request samples

import { fetchScheduleByTripDateAndRouteId } from 'ws-dottie/wsf-schedule/core';

const data = await fetchScheduleByTripDateAndRouteId({
  params: {
    "TripDate": "2025-11-23",
    "RouteID": 9
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API

{
  • "ScheduleID": 193,
  • "ScheduleName": "Fall 2025",
  • "ScheduleSeason": 2,
  • "ScheduleStart": "2025-09-21T07:00:00.000Z",
  • "ScheduleEnd": "2025-12-27T08:00:00.000Z",
  • "AllRoutes": [
    ],
  • "TerminalCombos": [
    ]
}

Get sailing schedule for a terminal pair and trip date.

Responses

Request samples

import { fetchScheduleByTripDateAndDepartingTerminalIdAndTerminalIds } from 'ws-dottie/wsf-schedule/core';

const data = await fetchScheduleByTripDateAndDepartingTerminalIdAndTerminalIds({
  params: {
    "TripDate": "2025-11-23",
    "DepartingTerminalID": 1,
    "ArrivingTerminalID": 10
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API

{
  • "ScheduleID": 193,
  • "ScheduleName": "Fall 2025",
  • "ScheduleSeason": 2,
  • "ScheduleStart": "2025-09-21T07:00:00.000Z",
  • "ScheduleEnd": "2025-12-27T08:00:00.000Z",
  • "AllRoutes": [
    ],
  • "TerminalCombos": [
    ]
}

List valid arriving terminals for a departing terminal and trip date.

Responses

Request samples

import { fetchTerminalMatesSchedule } from 'ws-dottie/wsf-schedule/core';

const data = await fetchTerminalMatesSchedule({
  params: {
    "TripDate": "2025-11-23",
    "TerminalID": 1
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API (showing first item of 4 total)

[
  • {
    }
]

List all valid terminal pairs for a trip date.

Responses

Request samples

import { fetchTerminalsAndMates } from 'ws-dottie/wsf-schedule/core';

const data = await fetchTerminalsAndMates({
  params: {
    "TripDate": "2025-11-23"
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API (showing first item of 38 total)

[
  • {
    }
]

List valid terminal pairs for a specific route and trip date.

Responses

Request samples

import { fetchTerminalsAndMatesByRoute } from 'ws-dottie/wsf-schedule/core';

const data = await fetchTerminalsAndMatesByRoute({
  params: {
    "TripDate": "2025-11-23",
    "RouteID": 9
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API (showing first item of 20 total)

[
  • {
    }
]

sailings

Scheduled ferry sailings organized by route and direction.

List active sailings for specified scheduled route.

Responses

Request samples

import { fetchSailingsByRouteID } from 'ws-dottie/wsf-schedule/core';

const data = await fetchSailingsByRouteID({
  params: {
    "SchedRouteID": 2401
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API (showing first item of 2 total)

[
  • {
    }
]

List all sailings for scheduled route including inactive sailings.

Responses

Request samples

import { fetchAllSailingsBySchedRouteID } from 'ws-dottie/wsf-schedule/core';

const data = await fetchAllSailingsBySchedRouteID({
  params: {
    "SchedRouteID": 2401
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API (showing first item of 2 total)

[
  • {
    }
]

cache-flush-date-schedule

Cache invalidation timestamp for wsf-schedule static data.

Get cache flush timestamp for static schedule data.

Responses

Request samples

import { fetchCacheFlushDateSchedule } from 'ws-dottie/wsf-schedule/core';

const data = await fetchCacheFlushDateSchedule({
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API

"2025-11-15T17:40:00.280Z"

route-details

Detailed ferry route information with service details.

List detailed route information for all routes on specified date.

Responses

Request samples

import { fetchRouteDetailsByTripDate } from 'ws-dottie/wsf-schedule/core';

const data = await fetchRouteDetailsByTripDate({
  params: {
    "TripDate": "2025-11-23"
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API (showing first item of 10 total)

[
  • {
    }
]

List detailed route information for terminal pair on date.

Responses

Request samples

import { fetchRouteDetailsByTripDateAndTerminals } from 'ws-dottie/wsf-schedule/core';

const data = await fetchRouteDetailsByTripDateAndTerminals({
  params: {
    "TripDate": "2025-11-23",
    "DepartingTerminalID": 1,
    "ArrivingTerminalID": 10
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API

[
  • {
    }
]

Get detailed route information for specific route on date.

Responses

Request samples

import { fetchRouteDetailsByTripDateAndRouteId } from 'ws-dottie/wsf-schedule/core';

const data = await fetchRouteDetailsByTripDateAndRouteId({
  params: {
    "TripDate": "2025-11-23",
    "RouteID": 1
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API

{
  • "RouteID": 1,
  • "RouteAbbrev": "pd-tal",
  • "Description": "Pt. Defiance / Tahlequah",
  • "RegionID": 5,
  • "VesselWatchID": 5,
  • "ReservationFlag": false,
  • "InternationalFlag": false,
  • "PassengerOnlyFlag": false,
  • "CrossingTime": "15",
  • "AdaNotes": null,
  • "GeneralRouteNotes": "<ul class=\"btttwinter2020\" style=\"font-size:.9em\"><li><a href=\"https://wsdot.wa.gov/ferries/sailing-schedules/best-travel-times/\"\ntarget=\"_blank\">Find the best times to travel by clicking here.</a></li></ul>\n",
  • "SeasonalRouteNotes": " <a href=\"https://wsdot.wa.gov/Ferries/infodesk/faq/Vashon-Island-Low-Tides.htm\" class=\"content_text\"><strong>Vashon Low Tides</a> </strong>",
  • "Alerts": [ ]
}

routes

Basic ferry route information between terminals.

List all routes available for specified trip date.

Responses

Request samples

import { fetchRoutesByTripDate } from 'ws-dottie/wsf-schedule/core';

const data = await fetchRoutesByTripDate({
  params: {
    "TripDate": "2025-11-23"
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API (showing first item of 10 total)

[
  • {
    }
]

List routes matching terminal pair for specified date.

Responses

Request samples

import { fetchRoutesByTripDateAndTerminals } from 'ws-dottie/wsf-schedule/core';

const data = await fetchRoutesByTripDateAndTerminals({
  params: {
    "TripDate": "2025-11-23",
    "DepartingTerminalID": 1,
    "ArrivingTerminalID": 10
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API

[
  • {
    }
]

List routes with service disruptions for a specific trip date.

Responses

Request samples

import { fetchRoutesHavingServiceDisruptionsByTripDate } from 'ws-dottie/wsf-schedule/core';

const data = await fetchRoutesHavingServiceDisruptionsByTripDate({
  params: {
    "TripDate": "2025-11-23"
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API

[ ]

List all scheduled routes across current and upcoming seasons.

Responses

Request samples

import { fetchScheduledRoutes } from 'ws-dottie/wsf-schedule/core';

const data = await fetchScheduledRoutes({
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API (showing first item of 17 total)

[
  • {
    }
]

List scheduled routes for a specific schedule season.

Responses

Request samples

import { fetchScheduledRoutesById } from 'ws-dottie/wsf-schedule/core';

const data = await fetchScheduledRoutesById({
  params: {
    "ScheduleID": 193
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API (showing first item of 13 total)

[
  • {
    }
]

service-disruptions

Service disruptions affecting ferry routes.

schedule-alerts

Service alerts and notifications for ferry schedules.

List all current schedule alerts.

Responses

Request samples

import { fetchScheduleAlerts } from 'ws-dottie/wsf-schedule/core';

const data = await fetchScheduleAlerts({
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API (showing first item of 10 total)

[
  • {
    }
]

schedules

Complete sailing timetables for ferry routes.

scheduled-routes

Ferry routes active for specific schedule seasons.

schedule-today

Today's sailing schedule for ferry routes.

Get today's schedule for a specific route.

Responses

Request samples

import { fetchScheduleTodayByRoute } from 'ws-dottie/wsf-schedule/core';

const data = await fetchScheduleTodayByRoute({
  params: {
    "RouteID": 9,
    "OnlyRemainingTimes": false
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API

{
  • "ScheduleID": 193,
  • "ScheduleName": "Fall 2025",
  • "ScheduleSeason": 2,
  • "ScheduleStart": "2025-09-21T07:00:00.000Z",
  • "ScheduleEnd": "2025-12-27T08:00:00.000Z",
  • "AllRoutes": [
    ],
  • "TerminalCombos": [
    ]
}

Get today's schedule for a terminal pair.

Responses

Request samples

import { fetchScheduleTodayByTerminals } from 'ws-dottie/wsf-schedule/core';

const data = await fetchScheduleTodayByTerminals({
  params: {
    "DepartingTerminalID": 1,
    "ArrivingTerminalID": 10,
    "OnlyRemainingTimes": false
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API

{
  • "ScheduleID": 193,
  • "ScheduleName": "Fall 2025",
  • "ScheduleSeason": 2,
  • "ScheduleStart": "2025-09-21T07:00:00.000Z",
  • "ScheduleEnd": "2025-12-27T08:00:00.000Z",
  • "AllRoutes": [
    ],
  • "TerminalCombos": [
    ]
}

schedule-valid-date-range

Validity period for published WSF schedule data.

Get the valid date range for schedule data.

Responses

Request samples

import { fetchScheduleValidDateRange } from 'ws-dottie/wsf-schedule/core';

const data = await fetchScheduleValidDateRange({
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API

{
  • "DateFrom": "2025-11-15T08:00:00.000Z",
  • "DateThru": "2026-03-21T07:00:00.000Z"
}

schedule-terminal-mates

Arriving terminals that can be reached from a given departing terminal.

schedule-terminals

Ferry terminal facilities serving as departure and arrival points.

List valid departing terminals for a trip date.

Responses

Request samples

import { fetchTerminals } from 'ws-dottie/wsf-schedule/core';

const data = await fetchTerminals({
  params: {
    "TripDate": "2025-11-23"
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API (showing first item of 19 total)

[
  • {
    }
]

time-adjustments

Modifications to scheduled sailing times for specific dates.

List all time adjustments across all routes.

Responses

Request samples

import { fetchTimeAdjustments } from 'ws-dottie/wsf-schedule/core';

const data = await fetchTimeAdjustments({
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API (showing first item of 291 total)

[
  • {
    }
]

List time adjustments for a specific route.

Responses

Request samples

import { fetchTimeAdjustmentsByRoute } from 'ws-dottie/wsf-schedule/core';

const data = await fetchTimeAdjustmentsByRoute({
  params: {
    "RouteID": 1
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API

[ ]

List time adjustments for a specific scheduled route.

Responses

Request samples

import { fetchTimeAdjustmentsBySchedRoute } from 'ws-dottie/wsf-schedule/core';

const data = await fetchTimeAdjustmentsBySchedRoute({
  params: {
    "SchedRouteID": 2401
  },
  fetchMode: 'native',
  validate: true
});

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API

[ ]