Stack Overflow Questions Scraper
Pricing
from $16.00 / 1,000 stack overflow questions
Stack Overflow Questions Scraper
Extract public Stack Overflow questions by text, tags, or exact URLs with titles, tags, scores, views, answers, authors, dates, links, and optional bodies.
Pricing
from $16.00 / 1,000 stack overflow questions
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Free plan limit: Free-plan users can receive up to 5 result records per run. Paid-plan and local/unknown runs retain the Actor's existing limits.
Extract public Stack Overflow questions by search text, tags, or exact question URLs. The Actor returns analysis-ready records with titles, tags, scores, views, answer counts, author metadata, dates, links, and optional question bodies.
This Actor is useful for developer research, documentation gap analysis, technical-content planning, trend discovery, support intelligence, and building question datasets. It is not a tool for private content, user authentication, answers/comments extraction, voting, posting, or bypassing Stack Overflow access controls.
What it extracts
| Field | Description |
|---|---|
questionId, url, title | Stable ID, canonical question link, and decoded title |
tags | Stack Overflow tags assigned to the question |
score, viewCount, answerCount | Engagement and response metrics at extraction time |
isAnswered, acceptedAnswerId | Answer state and accepted answer reference |
authorName, authorId, authorReputation | Public author metadata when available |
creationDate, lastActivityDate, lastEditDate | UTC ISO 8601 timestamps |
closedDate, closedReason | Closure metadata when applicable |
contentLicense | License reported by Stack Exchange |
bodyHtml, bodyText | Optional question body in HTML and normalized text |
source, scrapedAt | Provenance and extraction timestamp |
Deleted users and absent accepted answers are represented as null, not invented values. The default dataset contains only question records; run diagnostics are written separately to the OUTPUT key-value-store record.
Input
| Input | Type | Default | Purpose |
|---|---|---|---|
searchQuery | string | typescript | Free-text question search |
tags | string[] | [] | Require up to five tags |
startUrls | request list | [] | Fetch exact Stack Overflow question URLs |
sort | enum | relevance | relevance, activity, creation, or votes |
minScore | integer | omitted | Minimum score; unavailable for relevance sort |
fromDate, toDate | YYYY-MM-DD | omitted | Inclusive creation-date bounds in UTC |
includeBody | boolean | false | Include question body HTML and plain text |
maxResults | integer | 25 | Cap output and billable records from 1 to 500 |
Search by text:
{"searchQuery": "typescript generics","tags": ["typescript"],"sort": "relevance","includeBody": true,"maxResults": 25}
Browse recent tagged questions:
{"searchQuery": "","tags": ["javascript", "reactjs"],"sort": "creation","fromDate": "2026-01-01","maxResults": 100}
Fetch exact questions:
{"searchQuery": "","startUrls": [{ "url": "https://stackoverflow.com/questions/37233735/interfaces-vs-types-in-typescript" }],"sort": "activity","maxResults": 1}
Run through the Apify API:
curl -X POST "https://api.apify.com/v2/acts/USERNAME~stack-overflow-questions-scraper/runs?token=APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQuery":"python async await","tags":["python"],"maxResults":10}'
Replace USERNAME and APIFY_TOKEN with your own Apify account values. Keep tokens in secrets or authorization headers in production.
Output example
{"questionId": 37233735,"title": "Interfaces vs Types in TypeScript","url": "https://stackoverflow.com/questions/37233735/interfaces-vs-types-in-typescript","tags": ["typescript", "interface", "typescript-types"],"score": 2807,"viewCount": 1135806,"answerCount": 25,"isAnswered": true,"acceptedAnswerId": 37233777,"authorName": "user6101582","authorId": null,"authorReputation": null,"creationDate": "2016-05-15T01:53:52.000Z","lastActivityDate": "2026-07-27T10:44:10.000Z","lastEditDate": null,"closedDate": null,"closedReason": null,"contentLicense": "CC BY-SA 4.0","bodyHtml": null,"bodyText": null,"source": "Stack Exchange API v2.3","scrapedAt": "2026-08-29T00:00:00.000Z"}
Pricing
This Actor uses pay-per-event pricing. These are the current Apify Store event prices:
| Event | Price (USD) | When it is charged |
|---|---|---|
apify-default-dataset-item | FREE: $0.02; BRONZE: $0.02; SILVER: $0.02; GOLD: $0.016; PLATINUM: $0.016; DIAMOND: $0.016 | Stack Overflow question — One schema-valid Stack Overflow question written to the default dataset. |
apify-actor-start | $0.005 | Actor Start — Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). — Charged once per run. |
Apify platform usage for this Actor run is included alongside the event prices above; no separate per-run platform-usage fee is passed to users.
This covers Apify platform usage for this Actor run. Other Apify products or usage outside this Actor run may still follow your account plan.
Reliability and limitations
Direct Stack Overflow HTML access is protected by Cloudflare in common cloud environments. After measuring that path, this Actor uses Stack Exchange's official public API v2.3 as the authorized first-party fallback. It does not solve CAPTCHAs or use private sessions.
The Actor follows API backoff instructions, retries temporary failures with bounded exponential delay, paginates up to the requested result cap, deduplicates question IDs, and reports remaining API quota in OUTPUT. The unauthenticated Stack Exchange API quota is shared by IP and can change; quota exhaustion or upstream downtime produces an explicit failed/partial diagnostic instead of fabricated data. Identical queries should not be run more than once per minute because Stack Exchange heavily caches API methods.
Search relevance follows Stack Exchange's undocumented relevance algorithm. Tags in text-search mode follow the API's advanced-search behavior; tag-only browse mode uses the /questions endpoint. This Actor extracts questions only—not answers, comments, revisions, or full user profiles.
Responsible use
Use the data in line with Stack Overflow's Terms of Service, the Stack Exchange API terms, applicable privacy law, and each record's reported content license. Attribute Stack Overflow and the original authors when republishing licensed content. Avoid collecting or using public author data for harassment, spam, sensitive profiling, or decisions that materially affect people.
For support, include the run ID, redacted input, expected result, and observed OUTPUT summary. Never share Apify tokens or other secrets.