REST endpoints for listing podcasts and fetching podcast details.
https://api.studio.inlet.fmAll endpoints require authentication via the Authorization header:
Authorization: Token <API_KEY>Requests without a valid token return 401 Unauthorized. Rate limiting is applied per API key.
GET /podcasts
Returns all podcasts accessible to the authenticated API key, paginated using cursor-based pagination.
| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| first | integer | No | Number of results to return (default: 20, max: 100) |
| after | string | No | Pagination cursor from previous response pagination.endCursor |
{
"success": true,
"data": [
{
"id": "64a1f2b3c4d5e6f7a8b9c0d1",
"name": "My Podcast",
"monetizationEnabled": true,
"analyticsMonitoringEnabled": true
}
],
"pagination": {
"hasNextPage": true,
"endCursor": "NjRhMWYyYjNjNGQ1ZTZmN2E4YjljMGQx",
"totalCount": 42
}
}| Field | Description |
| --- | --- |
| monetizationEnabled | Whether ad monetization (Megaphone SPAN) is active for this podcast |
| analyticsMonitoringEnabled | Whether revenue and download analytics are available |
curl "https://api.studio.inlet.fm/api/v1/podcasts?first=20" \
-H "Authorization: Token your-api-key-here"GET /podcasts/:podcastId
Returns one podcast record (same auth scope: owner/co-owner only).
{
"success": true,
"data": {
"id": "64a1f2b3c4d5e6f7a8b9c0d1",
"name": "My Podcast",
"slug": "my-podcast",
"subTitle": "A show about things",
"description": "Full description...",
"logo": "https://cdn.example.com/logo.jpg",
"itunesCategories": ["Technology"],
"keywords": ["tech", "startup"],
"monetizationEnabled": true,
"analyticsMonitoringEnabled": true,
"audioUrls": {
"applePodcastUrl": "https://podcasts.apple.com/...",
"spotifyPodcastUrl": "https://open.spotify.com/...",
"rssPodcastUrl": "https://feeds.example.com/...",
"overcastPodcastUrl": null
},
"createdAt": "2025-01-01T00:00:00.000Z",
"updatedAt": "2026-04-30T12:00:00.000Z"
}
}curl "https://api.studio.inlet.fm/api/v1/podcasts/64a1f2b3c4d5e6f7a8b9c0d1" \
-H "Authorization: Token your-api-key-here"400: Invalid podcastId format403: API key has no access to podcast404: Podcast does not exist500: Internal errorexport interface Podcast {
id: string;
name: string;
monetizationEnabled: boolean;
analyticsMonitoringEnabled: boolean;
}
export interface AudioUrls {
applePodcastUrl: string | null;
spotifyPodcastUrl: string | null;
rssPodcastUrl: string | null;
overcastPodcastUrl: string | null;
}
export interface PodcastDetail extends Podcast {
slug: string;
subTitle: string;
description: string;
logo: string | null;
itunesCategories: string[];
keywords: string[];
audioUrls: AudioUrls;
createdAt: string;
updatedAt: string;
}
export interface PaginatedPodcastsResponse {
success: true;
data: Podcast[];
pagination: {
hasNextPage: boolean;
endCursor: string | null;
totalCount: number;
};
}
export interface ApiSuccess<T> {
success: true;
data: T;
}400: Bad Request401: Unauthorized (missing or invalid API key)403: Forbidden404: Not Found500: Internal Server Error