Indie Hackers Discussions Scraper avatar

Indie Hackers Discussions Scraper

Pricing

Pay per event

Go to Apify Store
Indie Hackers Discussions Scraper

Indie Hackers Discussions Scraper

Export public Indie Hackers discussion threads, founder topics, authors, timestamps, and source URLs from IndieHackers.com.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Export public Indie Hackers discussion threads from IndieHackers.com into a clean Apify dataset.

This actor reads the public Indie Hackers Firebase JSON feed, so it is fast, inexpensive, and does not need browser automation, login, or proxies.

What does Indie Hackers Discussions Scraper do?

Indie Hackers Discussions Scraper collects public discussion threads from Indie Hackers.

It can export recent threads, newly created threads, updated threads, or keyword-filtered conversations.

Each result includes the thread id, title, author, timestamps, bump metrics, source URL, and optional body content.

You can also enable recent comment scanning to attach public comments that are visible in the public comments feed.

Who is it for?

šŸŽÆ Startup founders use it to monitor market pain points and founder discussions.

šŸ“ˆ Growth marketers use it to find conversations around distribution, launch strategy, SaaS, and product ideas.

šŸ§‘ā€šŸ’» Indie builders use it to track topics that resonate with the Indie Hackers community.

šŸ”Ž Lead researchers use it to discover founders, usernames, and discussion context for manual follow-up.

šŸ¤– AI workflow builders use it to feed recent founder conversations into LLM summaries or alerts.

Why use this actor?

It is HTTP-only and lightweight.

It returns structured data instead of browser screenshots or raw HTML.

It uses public data only.

It supports keyword filtering.

It includes both ISO timestamps and raw timestamps for easy downstream processing.

It can run cheaply for scheduled monitoring jobs.

Public data source

The actor uses public Indie Hackers discussion data.

The primary source is the public Firebase endpoint behind IndieHackers.com.

No Indie Hackers account is required.

No session cookies are required.

No CSRF token is required.

No browser automation is required.

Data you can extract

FieldDescription
threadIdStable Firebase id of the discussion thread
titlePublic discussion title
contentPublic discussion body when enabled
usernamePublic author username
userIdPublic author id
createdAtISO creation time
updatedAtISO update time
bumpedAtISO bump time
bumpCountPublic bump count
boostPointsPublic boost points
commentCountNumber of attached comments found by the optional scan
commentsOptional nested recent comment records
matchedKeywordKeyword filter used for the match
sourceUrlIndie Hackers source URL

How much does it cost to scrape Indie Hackers discussions?

This actor uses pay-per-event pricing.

The default result event is one saved discussion thread.

BRONZE pricing is $0.0000808 per saved discussion thread (about $0.0808 per 1,000 saved discussion threads), plus a $0.005 run-start event.

Tier discounts apply automatically based on the user's Apify plan.

Small monitoring runs are designed to be inexpensive.

Input options

Maximum threads

Set maxItems to control how many discussion thread records are saved.

The default is 50.

The prefill is intentionally small so first runs stay cheap.

Sort public threads by

Choose the timestamp field used for ordering.

Use bumpedAt to monitor recently active discussions.

Use createdAt to monitor newly created discussions.

Use updatedAt to monitor edited discussions.

Sort direction

Use newest for recent monitoring.

Use oldest for archive-style exports.

Keyword filter

Use keyword to match discussion titles, bodies, and usernames.

Leave it empty to export the latest public discussions.

Include thread content

Keep includeContent enabled when you want the full discussion body.

Disable it when you only need metadata and source URLs.

Attach recent comments

Enable includeComments to scan the latest public comments feed.

The comment scan is best-effort because Indie Hackers does not expose a complete public thread-specific comment index without restricted paths.

Example input

{
"maxItems": 25,
"sortBy": "bumpedAt",
"sortDirection": "newest",
"keyword": "distribution",
"includeContent": true,
"includeComments": false,
"commentScanLimit": 200
}

Example output

{
"threadId": "-Ol7IaOMfkxU0TSITgnF",
"title": "What's harder: building the thing or getting people to use it?",
"content": "4 days into my founder journey...",
"username": "ZeroRook",
"userId": "6VpcNYNi7nO35UbSifIgs3RMZHB3",
"createdAt": "2026-02-10T12:07:03.427Z",
"createdAtTimestamp": 1770739623427,
"updatedAt": "2026-02-10T12:07:03.427Z",
"updatedAtTimestamp": 1770739623427,
"bumpedAt": "2026-02-10T12:07:03.427Z",
"bumpedAtTimestamp": 1770739623427,
"bumpCount": 0,
"boostPoints": 0,
"commentCount": 0,
"matchedKeyword": "distribution",
"sourceUrl": "https://www.indiehackers.com/post/-Ol7IaOMfkxU0TSITgnF",
"sourceId": "-Ol7IaOMfkxU0TSITgnF"
}

How to run it

Open the actor on Apify.

Set maxItems to the number of discussions you need.

Choose bumpedAt for active discussions or createdAt for new posts.

Optionally enter a keyword.

Click Start.

Download the dataset as JSON, CSV, Excel, or through the API.

Tips for better results

Use broad keywords such as distribution, marketing, SaaS, founder, or launch.

Use scheduled runs to monitor new founder discussions every day.

Use bumpedAt when you care about active conversations.

Use createdAt when you care about brand-new posts.

Keep comment scanning disabled unless you need comment context.

Increase commentScanLimit only when comment matches are important.

Integrations

Send new discussions to Slack for founder-signal monitoring.

Export keyword-filtered threads to Google Sheets for lead research.

Feed discussion content into an LLM summarizer for weekly market intelligence.

Trigger a CRM workflow when a thread mentions a relevant pain point.

Build a content ideation dashboard from recurring Indie Hackers topics.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/indie-hackers-discussions-scraper').call({
maxItems: 25,
sortBy: 'bumpedAt',
keyword: 'distribution',
includeContent: true
});
console.log(run.defaultDatasetId);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('MY-APIFY-TOKEN')
run = client.actor('automation-lab/indie-hackers-discussions-scraper').call(run_input={
'maxItems': 25,
'sortBy': 'bumpedAt',
'keyword': 'distribution',
'includeContent': True,
})
print(run['defaultDatasetId'])

API usage with cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~indie-hackers-discussions-scraper/runs?token=MY-APIFY-TOKEN' \
-H 'Content-Type: application/json' \
-d '{"maxItems":25,"sortBy":"bumpedAt","keyword":"distribution","includeContent":true}'

MCP usage

Use this actor from Apify MCP tools in Claude Desktop or Claude Code.

MCP URL:

https://mcp.apify.com/?tools=automation-lab/indie-hackers-discussions-scraper

Claude Code setup:

$claude mcp add apify-indie-hackers "https://mcp.apify.com/?tools=automation-lab/indie-hackers-discussions-scraper"

Claude Desktop JSON config example:

{
"mcpServers": {
"apify-indie-hackers": {
"url": "https://mcp.apify.com/?tools=automation-lab/indie-hackers-discussions-scraper"
}
}
}

Example prompt:

Run the Indie Hackers Discussions Scraper for 50 recently bumped posts about distribution and summarize the top pain points founders mention.

Another example prompt:

Find recent Indie Hackers discussions mentioning SaaS onboarding and return the source URLs plus short summaries.

Scheduling ideas

Run every morning for bumpedAt discussions.

Run weekly for a list of recurring keywords.

Send keyword matches to a webhook.

Archive monthly exports to a data warehouse.

Limitations

The actor exports public data only.

Private or restricted Firebase paths are intentionally avoided.

Comment attachment is best-effort and scans recent public comments instead of restricted thread-comment indexes.

Indie Hackers may change its public data structure in the future.

Troubleshooting

Why did I get fewer results than maxItems?

A keyword filter may remove records from the fetched public thread window.

Try a broader keyword or leave the keyword empty.

Why are comments empty?

The public comments feed is scanned by recency.

If no recently scanned comments match the exported thread ids, the actor leaves comments empty.

Why are some timestamps unusual?

The actor preserves the raw public timestamps returned by Indie Hackers and also converts them to ISO strings.

Data quality checks

Each item includes a source id.

Each item includes a source URL.

Numbers are stored as numbers.

Timestamps are stored as both ISO strings and raw numeric values.

Optional missing fields are returned as null instead of invented values.

Legality

This actor collects publicly available information.

You are responsible for using exported data in compliance with applicable laws, platform terms, and privacy rules.

Do not use the data for spam.

Do not attempt to access private Indie Hackers paths.

You may also find these automation-lab actors useful:

FAQ

Does this actor require an Indie Hackers account?

No.

It uses public JSON data only.

Does it use a browser?

No.

It is HTTP-only.

Does it use proxies?

No proxy is required for the public Firebase endpoint.

Can I filter by topic?

Yes.

Use the keyword input.

Can I export comments?

Yes, but comment attachment is best-effort through the recent public comments feed.

Can I schedule it?

Yes.

Apify schedules work well for daily or weekly monitoring.

Changelog

Initial version exports public Indie Hackers discussion threads with metadata, content, keyword filtering, and optional recent comment attachment.