Discover/SemiAnalysis API
live

SemiAnalysis APIsemianalysis.com

Access SemiAnalysis newsletter posts via API. Retrieve article metadata, full HTML content, authors, tags, and engagement metrics for semiconductor and AI infrastructure analysis.

This API takes change requests — .
Endpoint health
verified 1d ago
list_posts
get_post
2/2 passing latest checkself-healing
Endpoints
2
Updated
8d ago

What is the SemiAnalysis API?

The SemiAnalysis API provides 2 endpoints to retrieve newsletter posts covering semiconductors, AI infrastructure, and datacenter technology. The list_posts endpoint returns paginated summaries including titles, authors, publication dates, word counts, and audience access levels, while get_post delivers the full HTML body, tags, and engagement metrics for any individual article by its URL slug.

This call costs1 credit / call— charged only on success
Try it
Number of posts to return per page (1-100).
Number of posts to skip for pagination.
api.parse.bot/scraper/9435a1cf-0868-4388-aeba-6123bdf2dca4/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/9435a1cf-0868-4388-aeba-6123bdf2dca4/list_posts?limit=5&offset=0' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace semianalysis-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: SemiAnalysis newsletter SDK — browse posts, drill into full content."""
from parse_apis.semianalysis_com_api import SemiAnalysis, InputNotFound

client = SemiAnalysis()

# List recent post summaries with a total-items cap.
for summary in client.post_summaries.list(limit=5):
    print(summary.title, f"({summary.wordcount} words, {summary.reaction_count} reactions)")

# Drill down: take the first summary and navigate to its full detail.
summary = client.post_summaries.list(limit=1).first()
if summary is not None:
    post = summary.details()
    print(post.title)
    print(post.subtitle)
    print(f"Updated: {post.updated_at}")
    print(f"Body preview: {post.truncated_body_text[:120]}")
    for author in post.authors:
        print(f"  Author: {author.name} (@{author.handle})")

# Point lookup by slug derived from the listing.
if summary is not None:
    try:
        detail = client.posts.get(slug=summary.slug)
        print(detail.title, detail.reaction_count)
    except InputNotFound:
        print("Post not found")

print("exercised: post_summaries.list / PostSummary.details / posts.get")
All endpoints · 2 totalmissing one? ·

List SemiAnalysis newsletter posts in reverse chronological order with pagination. Returns metadata for each post including title, authors, date, description, engagement metrics, and cover image. Use offset and limit to paginate through the full archive.

Input
ParamTypeDescription
limitintegerNumber of posts to return per page (1-100).
offsetintegerNumber of posts to skip for pagination.
Response
{
  "type": "object",
  "fields": {
    "limit": "integer, the limit used",
    "posts": "array of post summary objects with id, title, slug, subtitle, post_date, audience, authors, description, cover_image, wordcount, reaction_count, comment_count",
    "offset": "integer, the offset used"
  },
  "sample": {
    "limit": 5,
    "posts": [
      {
        "id": 209189055,
        "slug": "kimi-k3-the-manos-the-mythos-the",
        "type": "newsletter",
        "title": "Kimi K3, The Manos, The Mythos, The Legendos",
        "authors": [
          {
            "name": "Kimbo Chen",
            "handle": "kimbobachen"
          },
          {
            "name": "Dylan Patel",
            "handle": "semianalysis"
          }
        ],
        "audience": "only_paid",
        "subtitle": "Kimi K3’s architecture: compressed memory, attention across depth, latent expert routing, and serving performance",
        "post_date": "2026-08-03T19:42:30.801Z",
        "wordcount": 4744,
        "section_id": null,
        "cover_image": "https://substack-post-media.s3.amazonaws.com/public/images/872a94ce-6123-4a09-bb86-4f5aa363fece_1672x941.png",
        "description": "Kimi K3’s architecture: compressed memory, attention across depth, latent expert routing, and the inference performance",
        "canonical_url": "https://newsletter.semianalysis.com/p/kimi-k3-the-manos-the-mythos-the",
        "comment_count": 0,
        "reaction_count": 149
      }
    ],
    "offset": 0
  }
}

About the SemiAnalysis API

Endpoints Overview

The API exposes two endpoints. list_posts returns an array of post summary objects with fields including id, title, slug, subtitle, post_date, audience, authors, description, cover_image, and wordcount. Use the limit parameter (1–100) and offset parameter to paginate through the full archive in reverse chronological order. The audience field indicates whether a post is publicly available (everyone) or restricted to paid subscribers (only_paid).

Single Post Detail

get_post accepts a slug string — the URL path segment from the post's canonical URL — and returns full post data including body_html, tags, type, subtitle, authors (with name and handle per author), and post_date as an ISO 8601 timestamp. The body_html field contains the complete article HTML and may be null for posts where full content is not accessible. Slugs are obtainable from list_posts results, making the two endpoints straightforward to chain.

Coverage and Scope

SemiAnalysis publishes deep-dive research on semiconductor supply chains, chip architectures, AI accelerator deployments, and hyperscaler infrastructure. The API reflects the publication's archive as hosted on its Substack-powered platform. The audience field lets you identify open-access posts versus paid-only content before attempting to retrieve body content.

Reliability & maintenanceVerified

The SemiAnalysis API is a managed, monitored endpoint for semianalysis.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when semianalysis.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official semianalysis.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
1d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor new SemiAnalysis posts on AI infrastructure by polling list_posts and checking post_date for recent publications.
  • Build a semiconductor research digest by extracting title, subtitle, and description fields from list_posts results.
  • Filter open-access content by checking the audience field before fetching full articles via get_post.
  • Index SemiAnalysis articles into an internal knowledge base using body_html from get_post for search and retrieval.
  • Track author contributions by parsing the authors array (name and handle) across paginated list_posts responses.
  • Aggregate topic coverage by collecting tags from individual get_post responses to identify frequently covered themes.
  • Estimate reading load for a content pipeline using the wordcount field returned in list_posts summaries.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does SemiAnalysis have an official developer API?+
No. SemiAnalysis publishes content via Substack but does not offer a documented public developer API. This Parse API provides programmatic access to the newsletter archive.
What does the `audience` field in `list_posts` tell me?+
It returns either everyone (the post is publicly accessible) or only_paid (restricted to paid subscribers). You can use this field to filter results before calling get_post, since body_html may be null for paid-only posts.
How does pagination work in `list_posts`?+
The endpoint accepts limit (1–100 posts per page) and offset (number of posts to skip). Both values are echoed back in the response alongside the posts array. To walk the full archive, increment offset by your chosen limit on each request until fewer results than limit are returned.
Does the API expose reader comments or subscriber counts for posts?+
Not currently. The API returns post-level metadata and engagement metrics available on the post itself, but does not include comment threads or subscriber count data. You can fork this API on Parse and revise it to add an endpoint targeting that data if it becomes available.
Can I search posts by keyword or filter by tag?+
Not currently. list_posts returns posts in reverse chronological order and supports only limit and offset for pagination. Tag data is available per post via get_post, but there is no server-side tag or keyword filter. You can fork this API on Parse and revise it to add a search or tag-filter endpoint.
Page content last updated . Spec covers 2 endpoints from semianalysis.com.
Related APIs in News MediaSee all →
insights.trendforce.com API
Access semiconductor and AI industry analysis articles from TrendForce Insights, browsing post listings and retrieving full article content organized into text sections and figures. Perfect for staying updated on tech industry trends and feeding structured article data into language models for analysis.
anything.com API
Retrieve blog posts and organize them by category from Anything.com's AI app builder platform. Use this to access detailed content about AI development, tutorials, and platform updates directly from their official blog.
thelayoff.com API
Monitor and search forum discussions about company layoffs, accessing post titles, content, author information, dates, and community reactions across TheLayoff.com. Browse through paginated results and dive into individual posts to read full reply threads and conversation details.
latent.space API
Access Latent Space podcast episodes, newsletters, and full transcripts through search and browsing capabilities. Get detailed information about posts, including transcripts and homepage content, to stay updated on the latest discussions and insights.
oneleet.com API
Access data from oneleet.com.
sneakernews.com API
Browse the latest sneaker news, search articles by keyword, and look up upcoming release dates — including pricing, images, and retailer links. Also surfaces per-page ad slot inventory and density metrics for programmatic and publisher analysis.
scconline.com API
Retrieve the latest Indian legal news, case analyses, and legislation updates from the SCC Online Blog, with posts organized by date for easy browsing. Paginate through recent content to stay informed on legal developments and court decisions.
smashingmagazine.com API
Access Smashing Magazine's library of articles, books, ebooks, newsletters, and events with powerful search and filtering capabilities. Browse by category, discover related content, explore author profiles, and stay updated with the latest design and web development resources.