latent.space APIlatent.space ↗
Access Latent Space podcast episodes, newsletters, full transcripts, and search across all content. 5 endpoints covering posts, slugs, and timestamped transcripts.
curl -X GET 'https://api.parse.bot/scraper/521547f0-2179-4187-b87e-57eae46029c7/list_posts?sort=top&type=podcast&limit=5&offset=0' \ -H 'X-API-Key: $PARSE_API_KEY'
Fetch a paginated list of posts from the Latent Space archive. Returns post summaries sorted by date or popularity. Some type/sort combinations may be rejected by the upstream API (returns upstream_error with details).
| Param | Type | Description |
|---|---|---|
| sort | string | Sort order: 'new' or 'top'. |
| type | string | Content type filter. Verified working value: 'podcast'. Note: some values (e.g. 'newsletter') may be rejected by the upstream API depending on sort order. |
| limit | integer | Maximum number of results per page. |
| offset | integer | Number of items to skip for pagination. |
{
"type": "object",
"fields": {
"data": "array of post summary objects, each containing id, title, slug, type, post_date, subtitle, cover_image, reaction_count, and other metadata",
"status": "string indicating success"
},
"sample": {
"data": [
{
"id": 196292432,
"slug": "lupsasca",
"type": "podcast",
"title": "🔬Doing Vibe Physics — Alex Lupsasca, OpenAI",
"subtitle": "The full story of how GPT‑5.x derived new results in theoretical physics and quantum gravity.",
"post_date": "2026-05-05T20:34:11.746Z",
"reaction_count": 20
}
],
"status": "success"
}
}About the latent.space API
The Latent Space API exposes 5 endpoints for retrieving podcast episodes, newsletters, and full timestamped transcripts from latent.space. The list_posts endpoint returns paginated post summaries with fields like id, title, slug, post_date, reaction_count, and cover_image. The get_transcript endpoint provides speaker-labeled, word-level segments for any episode that has a transcript available.
Browsing and Searching Posts
The list_posts endpoint accepts sort (new or top), type (verified working value: podcast), limit, and offset for pagination. Each post summary in the response includes id, title, slug, type, post_date, subtitle, cover_image, and reaction_count. Note that some type values such as newsletter may be rejected upstream — the response will include an upstream_error field with details when that happens.
The search_posts endpoint accepts a required query string plus optional sort, limit, and offset. It returns matching post summaries that include description fields not always present in list_posts results. Pagination beyond available results returns an empty array rather than an error.
Full Post and Transcript Details
get_post fetches a single post by its slug (obtained from list_posts or search_posts) and returns the complete body_html, canonical_url, reactions, and all metadata. This is the only endpoint that surfaces full content rather than summaries.
get_transcript returns a transcript array of timestamped segments for podcast episodes that have transcripts. Each segment includes start, end, text, words, and a speaker field. Not every post has a transcript; the endpoint returns stale_input with kind: input_not_found when none is available. The get_homepage_data endpoint (no inputs required) surfaces homepage layout data: homeHeroPins, newPosts, topPosts, pinnedPosts, recommendations, and contentBlockData.
- Build a searchable archive of Latent Space episodes using
search_postswith keyword queries andpost_datefiltering. - Generate speaker-attributed transcripts for AI research podcast episodes using the
start,end, andspeakerfields fromget_transcript. - Track content popularity over time by monitoring
reaction_countacross paginatedlist_postsresults. - Render a curated reading list from
get_homepage_datafields liketopPostsandrecommendations. - Create episode summary cards using
title,subtitle,cover_image, andcanonical_urlfromget_post. - Feed podcast transcripts into an LLM pipeline for summarization or semantic search using the full
body_htmland timestampedtextsegments.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Latent Space have an official developer API?+
What does `get_transcript` return, and are transcripts available for every episode?+
get_transcript returns an array of segments each containing start, end, text, words, and a speaker field. Not all posts have transcripts. When a slug has no associated transcript, the response returns stale_input with kind: input_not_found rather than an error status.Can I filter `list_posts` to return only newsletter content?+
type parameter is documented as working reliably for podcast. Passing newsletter as a type value may be rejected, returning an upstream_error field with details. The podcast type is the verified safe value for filtered listing.Does the API expose author profiles, subscriber counts, or comment threads?+
How does pagination work across `list_posts` and `search_posts`?+
list_posts accepts limit and offset integers for standard offset-based pagination. search_posts uses the same limit and offset parameters; when offset exceeds the total results for a given query, the data array is returned empty rather than triggering an error, so an empty array is the signal to stop paginating.