Wsf Fares API (1.0.0)

Download OpenAPI specification:

Wsf Fares API - Washington State Department of Transportation APIs

cache-flush-date-fares

Cache invalidation timestamp for static WSF fares data.

Get cache flush timestamp for static fares data.

Responses

Request samples

import { fetchCacheFlushDateFares } from 'ws-dottie/wsf-fares/core';

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

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API

"2025-11-14T19:42:45.737Z"

List valid departing terminals for a trip date.

Responses

Request samples

import { fetchTerminalFares } from 'ws-dottie/wsf-fares/core';

const data = await fetchTerminalFares({
  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)

[
  • {
    }
]

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

Responses

Request samples

import { fetchTerminalMatesFares } from 'ws-dottie/wsf-fares/core';

const data = await fetchTerminalMatesFares({
  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)

[
  • {
    }
]

valid-date-range

Validity period for published WSF fare data.

Get the validity date range for published fares data.

Responses

Request samples

import { fetchFaresValidDateRange } from 'ws-dottie/wsf-fares/core';

const data = await fetchFaresValidDateRange({
  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"
}

terminals

WSF terminal facilities serving as departure and arrival points for ferry routes.

List all fare line items for a specific terminal combination and trip type.

Responses

Request samples

import { fetchFareLineItemsByTripDateAndTerminals } from 'ws-dottie/wsf-fares/core';

const data = await fetchFareLineItemsByTripDateAndTerminals({
  params: {
    "TripDate": "2025-11-23",
    "DepartingTerminalID": 3,
    "ArrivingTerminalID": 7,
    "RoundTrip": false
  },
  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 23 total)

[
  • {
    }
]

terminal-combo

Valid terminal pairings with fare collection procedures for WSF routes.

Get fare collection description for a specific terminal combination and trip date.

Responses

Request samples

import { fetchTerminalComboFares } from 'ws-dottie/wsf-fares/core';

const data = await fetchTerminalComboFares({
  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

{
  • "DepartingDescription": "Anacortes",
  • "ArrivingDescription": "Friday Harbor",
  • "CollectionDescription": "Passenger and vehicle/driver fares are collected at Anacortes, while no fares are collected at Friday Harbor."
}

Get fare collection descriptions for all terminal combinations on a trip date.

Responses

Request samples

import { fetchTerminalComboFaresVerbose } from 'ws-dottie/wsf-fares/core';

const data = await fetchTerminalComboFaresVerbose({
  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)

[
  • {
    }
]

fare-line-items

Individual fare components for WSF routes by passenger and vehicle types.

List popular fare line items for a terminal combination.

Responses

Request samples

import { fetchFareLineItemsBasic } from 'ws-dottie/wsf-fares/core';

const data = await fetchFareLineItemsBasic({
  params: {
    "TripDate": "2025-11-23",
    "DepartingTerminalID": 1,
    "ArrivingTerminalID": 10,
    "RoundTrip": false
  },
  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 12 total)

[
  • {
    }
]

Get all fare line items for all terminal combinations on a trip date.

Responses

Request samples

import { fetchFareLineItemsVerbose } from 'ws-dottie/wsf-fares/core';

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

console.log(data);

Response samples

Content type
application/json

Example of a successful response from the API

{
  • "TerminalComboVerbose": [
    ],
  • "LineItemLookup": [
    ],
  • "LineItems": [
    ],
  • "RoundTripLineItems": [
    ]
}

fare-totals

Calculated fare totals for WSF journeys by selected line items and quantities.

Calculate fare totals for a terminal combination with selected line items and quantities.

Responses

Request samples

import { fetchFareTotalsByTripDateAndRoute } from 'ws-dottie/wsf-fares/core';

const data = await fetchFareTotalsByTripDateAndRoute({
  params: {
    "TripDate": "2025-11-22",
    "DepartingTerminalID": 1,
    "ArrivingTerminalID": 10,
    "RoundTrip": false,
    "FareLineItemID": "1,2",
    "Quantity": "3,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 3 total)

[
  • {
    }
]