Indie Hackers Post API and MCP — full post text, author, upvotes and comments count
Send the slug of an Indie Hackers post or its full link. You get the post back as one record: title, full text, author, publish date, upvotes, comment count and, when the post belongs to a product, that product's name, link and slug.
- You send
- a post slug or Indie Hackers URL
- You get back
- One Indie Hackers post: title, full text, author, publish date, upvotes, comment count and the product it belongs to.
- Coverage
- Indie Hackers records with a public page.
- Price
- 5 pts — $5 per 1,000
- Charged only when the record resolves. A request that finds nothing is not billed.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| Indie Hackers directly | Open the page on Indie Hackers and read it | Free, and slow | Fine for one record, useless across a list, and the layout differs on every platform |
| Building a scraper | Write it, host it, and repair it when Indie Hackers changes its pages | Engineering time | A maintenance commitment for something that isn't your product |
| NeuralVerge | One request, the same shape as every other source in the catalog | $5 per 1,000, misses not billed | Returns what Indie Hackers publishes at request time. Other platforms are separate sources with the same request format |
What you get back
Every field in the example response below.
| Field | Type | Description |
|---|---|---|
post.id | string | Short post id, the last part of the slug. |
post.alias | string | Full post slug. |
post.name | string | Post title. |
post.url | string | Link to the post. |
post.title | string | Post title. |
post.description | string | Short text taken from the post. |
post.content | string | Full post text. |
post.image | string | Share image link. |
post.published_at | string | Publish date, YYYY-MM-DD. |
post.author_name | string | Author display name. |
post.author_username | string | Author username. |
post.author_url | string | Link to the author's profile. |
post.upvotes | number | Upvotes on the post. |
post.comment_count | number | Number of comments. |
post.product_name | null | Linked product name. Null in the sample, since the post has no product. |
post.product_url | null | Linked product link. Null in the sample. |
post.product_slug | null | Linked product slug. Null in the sample. |
post.product_image | null | Linked product image. Null in the sample. |
blocked | boolean | True if the platform refused the request; false when data came back. |
pages_opened | number | How many pages were read for this record. |
proxy_traffic_bytes | number | Data transferred for the request, in bytes. Informational. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "indiehackers_posts",
"post": "i-built-a-git-host-where-ai-agents-dont-need-accounts-1dca7d2ac4",
"post_id": "i-built-a-git-host-where-ai-agents-dont-need-accounts-1dca7d2ac4",
"human": "# Indie Hackers — post\n\n- **Id:** i-built-a-git-host-where-ai-agents-dont-need-accounts-1dca7d2ac4\n- **Pages opened:** 1\n- **Proxy traffic:** 51.1 KB\n- **Title:** I built a git host where AI agents don't need accounts\n- **Author:** James Lee\n- **Published:** 2026-09-19\n- **Upvotes:** 8\n- **Comments:** 15",
"machine": {
"post": {
"id": "1dca7d2ac4",
"alias": "i-built-a-git-host-where-ai-agents-dont-need-accounts-1dca7d2ac4",
"name": "I built a git host where AI agents don't need accounts",
"url": "https://www.indiehackers.com/post/i-built-a-git-host-where-ai-agents-dont-need-accounts-1dca7d2ac4",
"title": "I built a git host where AI agents don't need accounts",
"description": "Every new agent I spin up needed me to make it a GitHub account and token first. Agents working in parallel wasted turns fighting merge conflicts on mai...",
"content": "Every new agent I spin up needed me to make it a GitHub account and token first. Agents working in parallel wasted turns fighting merge conflicts on main.\n\nSo I built agentgit: git push https://agentg",
"image": "https://storage.googleapis.com/indie-hackers.appspot.com/shareable-images/posts/1dca7d2ac4",
"published_at": "2026-09-19",
"author_name": "James Lee",
"author_username": "uptownhr",
"author_url": "https://www.indiehackers.com/uptownhr",
"upvotes": 8,
"comment_count": 15,
"product_name": null,
"product_url": null,
"product_slug": null,
"product_image": null
},
"blocked": false,
"pages_opened": 1,
"proxy_traffic_bytes": 52351
},
"total_points": 5
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
One record per request. Results come back in the same envelope as every other source: a session id, a readable summary, the structured result and the points charged.
curl -X POST https://api.neuralverge.ai/functions/v1/run-indiehackers-posts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"post":"i-built-a-git-host-where-ai-agents-dont-need-accounts-1dca7d2ac4"}'What teams use it for
Where this field shows up in an actual workflow.
Save the full text and counts of a post you are tracking.
Read how founders write up launches, lessons and revenue updates.
Use product_slug, where present, to move from a post to the product behind it.
Compare upvotes and comment_count across posts you collected from a feed.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
Indie Hackers records with a public page.
Read at request time, so the answer reflects the platform as it stands when you ask.
This source returns information Indie Hackers shows publicly. Every response carries the session id you can trace.
- —Posts carry the author's name, username and profile link. Treat these as attribution for the post, not as a profile of the person.
- —Product fields are null for posts that are not attached to a product.
- —Upvotes and comment counts are the numbers at request time and change as the post ages.
Questions, answered
The last segment of the post address, such as i-built-a-git-host-where-ai-agents-dont-need-accounts-1dca7d2ac4. A full link also works.
Related sources
Try indie hackers post on your own data
One request format across every source in the catalog.