Integrations

Versioning & changelog

Track the versioned v1 API surface, the OpenAPI spec, and the changelog so your integration keeps working across releases.

HTTP
# base: https://transcriptfetch.com
POST /api/v1/transcripts/video      # one video's transcript
POST /api/v1/transcripts/channel    # a channel's videos
POST /api/v1/transcripts/playlist   # a playlist's videos
POST /api/v1/transcripts/search     # keyword search
POST /api/v1/transcripts/batch      # up to 50 transcripts at once

A machine-readable OpenAPI 3.1 description is available for SDK generators, Postman, and Swagger UI:

HTTP
GET https://transcriptfetch.com/api/v1/openapi.json

What counts as a breaking change

The path prefix is the version. Everything under /api/v1 keeps its existing behaviour: we will not remove an endpoint, remove a response field, rename a field, change a field’s type, add a required request field, or change the meaning of an existing error code inside v1. If we need to do any of those, it happens in a new version prefix, and v1 keeps working.

These changes are additive and can ship at any time without notice, so write clients that tolerate them: new endpoints, new optional request fields, new fields in a response object, and newreason codes on existing error responses. Do not write parsers that fail on unrecognised JSON keys.

Deprecation notice

If a version is ever retired, we commit to at least 12 months’ notice from the announcement to shutdown. During that window the old version continues to work unchanged. We announce in the changelog on this page, by email to every account that has called the affected endpoint in the previous 90 days, and with a Deprecation response header on the affected endpoints so automated clients can detect it without reading docs.

Nothing is deprecated today. v1 is the current and only version, and the older unversioned /api/transcripts routes still work.

SDK versioning

The Python and Node SDKs follow semantic versioning: patch and minor releases never break a working integration, and a breaking change means a major version. Pin a major version and upgrade deliberately.

Status and incidents

Uptime, per-service status, and incident history are published at status.transcriptfetch.com, recorded by an independent monitor. For your own alerting, GET /api/v1/health is a liveness check and GET /api/v1/health/deep performs a real transcript fetch, returning 200 only when actual segments come back. Both are public and need no key.

Changelog

2026-06-15 · v1

  • Introduced versioned /api/v1 endpoints with a single, consistent response envelope.
  • Added a canonical error object: { error: { code, message, issues? } } on every non-2xx response.
  • Added Idempotency-Key support so paid requests can be retried safely without double-billing.
  • Added cursor pagination (next_cursor / cursor) to the search, playlist, and channel list endpoints.
  • Published a machine-readable OpenAPI 3.1 spec.
  • Clarified billing: 1 credit per successful (ok) response, a transcript or a video list.
  • The legacy /api/transcripts and /api/transcripts/batch endpoints remain available and unchanged.
Next →Back to Quickstart
API v1 & changelog · TranscriptFetch docs