nvNeuralVerge
Startup & Funding Data

Indie Hackers Product API and MCP — tagline, revenue, founders and updates

Send a product slug such as mailmeteor, or its Indie Hackers link. You get the product page as one record: name, tagline, description, website, Twitter handle, self-reported monthly revenue, the founders listed and the latest product updates.

You send
a product slug or Indie Hackers URL
You get back
One Indie Hackers product: name, tagline, description, website, Twitter, self-reported monthly revenue, founders and updates.
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.
Comparison

Ways to get this data

Three approaches teams use today, and where each one runs into trouble.

ApproachWhat it takesCostTrade-off
Indie Hackers directlyOpen the page on Indie Hackers and read itFree, and slowFine for one record, useless across a list, and the layout differs on every platform
Building a scraperWrite it, host it, and repair it when Indie Hackers changes its pagesEngineering timeA maintenance commitment for something that isn't your product
NeuralVergeOne request, the same shape as every other source in the catalog$5 per 1,000, misses not billedReturns what Indie Hackers publishes at request time. Other platforms are separate sources with the same request format
Response

What you get back

Every field in the example response below.

FieldTypeDescription
product.idstringProduct id, the same as its slug.
product.aliasstringProduct slug.
product.namestringProduct name.
product.urlstringLink to the product page.
product.taglinestringOne-line tagline.
product.descriptionstringLonger product description.
product.imagestringProduct avatar link.
product.website_urlstringProduct website.
product.twitter_handlestringTwitter handle.
product.twitter_urlstringTwitter link.
product.revenuenullSelf-reported monthly revenue as a number. Null in the sample.
product.revenue_textnullRevenue as displayed. Null in the sample.
product.revenue_updated_atnullWhen revenue was last updated. Null in the sample.
product.post_countnumberNumber of posts about the product.
product.founders[]arrayListed founders: name, username, url, role and image.
product.updates[]arrayProduct updates: title, date, url and text.
blockedbooleanTrue if the platform refused the request; false when data came back.
pages_openednumberHow many pages were read for this record.
proxy_traffic_bytesnumberData transferred for the request, in bytes. Informational.
Response

Example response

A real response, as returned.

{
  "session_id": "11111111-1111-1111-1111-111111111111",
  "kind": "indiehackers_products",
  "product": "mailmeteor",
  "product_id": "mailmeteor",
  "human": "# Indie Hackers — product\n\n- **Id:** mailmeteor\n- **Pages opened:** 1\n- **Proxy traffic:** 62.5 KB\n- **Tagline:** Send hundreds of personalized emails with Gmail.\n- **Website:** https://mailmeteor.com\n- **Posts:** 17",
  "machine": {
    "product": {
      "id": "mailmeteor",
      "alias": "mailmeteor",
      "name": "Mailmeteor",
      "url": "https://www.indiehackers.com/product/mailmeteor",
      "tagline": "Send hundreds of personalized emails with Gmail.",
      "description": "Everyone likes to feel special. Mailmeteor lets you run mail merge campaigns with your Gmail address, so that every of your recipients get a personalized email.",
      "image": "https://storage.googleapis.com/indie-hackers.appspot.com/product-avatars/mailmeteor/UOmVhbqmYPQadx0b0bOXe0LjN3x2",
      "website_url": "https://mailmeteor.com",
      "twitter_handle": "mailmeteor",
      "twitter_url": "https://twitter.com/mailmeteor",
      "revenue": null,
      "revenue_text": null,
      "revenue_updated_at": null,
      "post_count": 17,
      "founders": [
        {
          "name": "Jean",
          "username": "Cuireuncroco",
          "url": "https://www.indiehackers.com/Cuireuncroco",
          "role": "Co-founder",
          "image": null
        },
        {
          "name": "Corentin",
          "username": "Frenchcooc",
          "url": "https://www.indiehackers.com/Frenchcooc",
          "role": "Co-founder",
          "image": null
        }
      ],
      "updates": [
        {
          "title": "Live on Product Hunt",
          "date": "2024-12-19",
          "url": "https://www.indiehackers.com/post/live-on-product-hunt-UoYavv7glbnKg22D2xjp",
          "text": "Today we're adding our AI Email Writer feature to Mailmeteor for Gmail . Show us some support during our Product Hunt launch: https://www.producthunt.com/posts/ai-writer-for-gmail"
        },
        {
          "title": "🆕 Free tool 🆕 Spam Words Checker",
          "date": "2022-07-05",
          "url": "https://www.indiehackers.com/product/mailmeteor#update--N6EAqkl7A7RCue4WcJm",
          "text": "We’ve collected hundreds of spam triggers words in the last months and have created a simple tool to avoid writing email that lands in spam .\n\nIt’s totally free and consists of highlighting words that"
        }
      ]
    },
    "blocked": false,
    "pages_opened": 1,
    "proxy_traffic_bytes": 64013
  },
  "total_points": 5
}
Integration

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-products \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product":"mailmeteor"}'
Use cases

What teams use it for

Where this field shows up in an actual workflow.

Bootstrapped company research

Read what a small product does, who runs it and what it reports earning.

Founder discovery

See the founders and roles listed for a product and follow the profile link.

Tracking product updates

Collect the update posts a team has published about its product.

Enriching a lead list

Add tagline, website and Twitter to a list of product names.

Coverage & limits

Coverage, freshness and limits

What this source covers, how fresh it is, and where it stops.

Coverage

Indie Hackers records with a public page.

Freshness

Read at request time, so the answer reflects the platform as it stands when you ask.

Handling

This source returns information Indie Hackers shows publicly. Every response carries the session id you can trace.

What it will not do
  • —Revenue is self-reported by the product owner and is null when none is shared, as in the sample.
  • —Founders are individual members with names and profile links. Use them for attribution, not to profile people.
  • —updates[] holds the updates shown on the product page, not the full post archive.
FAQ

Questions, answered

The last part of the product address, for example mailmeteor in indiehackers.com/product/mailmeteor.

Related

Related sources

Try indie hackers product on your own data

One request format across every source in the catalog.

Get started