Share
me!

BLOG ARTICLE

Podsqueeze API Documentation

Last updated: 2/20/2025

Last updated: 2/20/2025

Podsqueeze API Documentation

Introduction

The Podsqueeze API allows users to process and transcribe podcast episodes, retrieve job statuses, manage API tokens, and register webhook notifications.

Base URL

https://europe-central2-wannabe-entrepreneur.cloudfunctions.net/podsqueeze-api

1. Get a New Token

To get a token, the user needs a Podsqueeze account. Then, they can simply go to the dashboard, click on API Access in the sidebar, and a token will be generated.

API Access Token Interface

2. Start a Podsqueeze Job

Uploads an audio or video file, stores it in Firebase, and starts a transcription job. You can provide either a base64-encoded file or a public URL to the episode.

Request

POST /
Authorization: Bearer <API_TOKEN>
Content-Type: application/json

{
  "mode": "process_episode",
  "podcastId": "<PODCAST_ID>",
  "language": "en",
  "file": "<Base64_encoded_audio/video_file>",
  "episodeUrl": "<PUBLIC_URL_TO_EPISODE>",
  "podcastTitle": "<PODCAST_TITLE>", [OPTIONAL]
  "podcastDescription": "<DESCRIPTION>", [OPTIONAL]
  "podcastImage": "<PODCAST_IMAGE_URL>", [OPTIONAL]
  "episodeTitle": "<EPISODE_TITLE>", [OPTIONAL]
  "episodeImg": "<EPISODE_IMAGE_URL>" [OPTIONAL]
}

Note: The episodeUrl must be publicly accessible and downloadable. Private or authentication-protected URLs are not supported.

Response

202 Accepted
{
  "jobId": "<JOB_ID>",
  "status": "transcribing",
  "estimatedTime": "60-120 seconds"
}

3. Get Job Status

Checks the transcription progress and results.

Request

POST /
Authorization: Bearer <API_TOKEN>
Content-Type: application/json

{
  "mode": "get_job_status",
  "jobId": "<JOB_ID>",
  "podcastId": "<PODCAST_ID>"
}

Response

200 OK
{
  "status": "completed",
  "transcript": "...",
  "srt": "...",
  "speakers": { ... }
}

4. Get Job Assets

Fetches the full transcription and other episode assets.

Request

POST /
Authorization: Bearer <API_TOKEN>
Content-Type: application/json

{
  "mode": "get_episode_assets",
  "jobId": "<JOB_ID>",
  "podcastId": "<PODCAST_ID>"
}

Response

200 OK
{
  "transcript": "...",
  "srt": "...",
  "timestamps": "...",
  "quotes": "...",
  "keywords": "...",
  "bulletPoints": "...",
  "longPost": "...",
  "mentions": "...",
  "newsletter": "...",
  "shortPost": "...",
  "titles": "...",
  "tweets": "..."
}

Error Handling

All responses follow this format for errors:

{
  "error": "Error message"
}

Contact & Support

For questions or issues, contact support@podsqueeze.com.

Repurpose your podcast content with AI