8kun Scraper: Boards, Threads & Posts
Pricing
from $0.30 / 1,000 delivered posts
8kun Scraper: Boards, Threads & Posts
Scrape public 8kun boards, threads, posts, replies, timestamps, links, and attachment metadata without login, API key, or 8kun API. Export JSON, CSV, or Excel.
Pricing
from $0.30 / 1,000 delivered posts
Rating
0.0
(0)
Developer
Inus Grobler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Scrape public 8kun boards, threads, posts, and replies into structured datasets. This 8kun scraper extracts timestamps, quote relationships, external links, thread state, and attachment metadata from public HTML—without requiring an 8kun login, API key, or source API.
Use the results for public-source research, journalism, trust-and-safety investigation, academic analysis, brand-risk monitoring, dashboards, or AI workflows. Every run is an independent snapshot, making the Actor easy to schedule while keeping collection predictable and bounded.
Use cases
- Monitor named public boards or threads for trust-and-safety and brand-risk research.
- Build structured datasets for academic studies, investigative journalism, or public-source intelligence.
- Track thread activity, quote relationships, links, and attachment metadata over scheduled snapshots.
- Feed bounded public-post data into review queues, dashboards, spreadsheets, or AI classification workflows.
What you can collect
- Live threads discovered from public board catalogs
- Original posts and optional replies
- Board, thread, and post identifiers
- Public author, tripcode, and poster-ID labels when displayed
- UTC publication timestamps
- Plain-text post content
- Quoted post relationships and external links
- Sticky, locked, and cyclic thread indicators
- Attachment filenames, formats, dimensions, sizes, source URLs, and thumbnails
Attachments are not downloaded or copied. The Actor returns visible metadata and source-hosted URLs only.
Quick start
The defaults are ready to run. They check three live threads from the public /tech/ catalog and return three opening posts as a quick, low-cost sample:
{"boards": ["tech"],"maxItems": 3}
To scrape a specific public thread without catalog discovery:
{"startUrls": ["https://8kun.top/tech/res/123456.html"],"includeReplies": true,"maxPostsPerThread": 100,"maxItems": 100}
Replace the example thread URL with a current public URL.
Input options
| Field | Description |
|---|---|
boards | Board names without slashes, such as tech or biz. Defaults to tech. |
startUrls | Optional direct board, catalog, board-page, or thread URLs. |
maxItems | Maximum total result rows for the run. Defaults to 3; maximum 1,000. |
includeReplies | Save replies as separate rows. Off by default; turn it on for full conversations. |
maxThreadsPerBoard | Advanced: maximum live threads opened per board. Defaults to 3. |
maxPostsPerThread | Advanced: maximum rows saved from any one thread. Defaults to 1. |
since | Optional inclusive ISO-8601 lower timestamp boundary. |
until | Optional inclusive ISO-8601 upper timestamp boundary. |
proxyConfiguration | Optional Apify Proxy or custom proxy settings. Direct requests are used by default. |
When direct URLs are provided and boards remains the unchanged tech default, only the direct URLs are processed. Add explicit non-default boards or board URLs when you want to combine catalog and direct-thread targets.
Date filters apply to posts found in current live catalogs or supplied threads. They do not search historical archives.
Dataset output
Each dataset item represents one original post or reply:
{"recordType": "post","board": "tech","boardTitle": "Technology","threadId": 12345,"postId": 12347,"isOriginalPost": false,"subject": null,"author": "Anonymous","tripcode": null,"posterId": "abc123","postedAt": "2026-01-01T00:00:00.000Z","commentText": ">>12345\nExample reply.","quotedPostIds": [12345],"externalLinks": [],"containsSpoiler": false,"attachments": [],"threadReplyCount": 2,"isSticky": false,"isLocked": false,"isCyclic": false,"threadUrl": "https://8kun.top/tech/res/12345.html","postUrl": "https://8kun.top/tech/res/12345.html#12347","scrapedAt": "2026-09-17T00:00:00.000Z","unreviewedUserGeneratedContent": true}
The run also writes an OUTPUT record containing effective settings, counts, failures, warnings, duration, and billing status. It deliberately excludes post excerpts and attachment URLs.
Scheduling snapshots
Every run starts fresh and never reads earlier Actor runs. To monitor a board or thread:
- Save a task with the targets and limits you need.
- Schedule that task at an appropriate interval.
- Compare post IDs or
postedAttimestamps in your downstream automation.
Use since to bound a scheduled snapshot when you already know the desired time window. The Actor does not create schedules, named storage, or cross-run profiles for you.
Python API example
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")actor_client = client.actor("thescrapelab/8kun-public-boards-threads-scraper")run = actor_client.call(run_input={"boards": ["tech"],"maxItems": 10,"includeReplies": True,},max_total_charge_usd=0.05,)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["board"], item["postId"], item["postedAt"])
You can also download results from the Dataset tab as JSON, CSV, Excel, XML, RSS, or JSONL.
Cost and performance
The Actor uses lightweight HTML requests rather than a browser. Cost depends mainly on the number of board catalogs and thread pages requested.
In private-beta tests on September 17, 2026, direct-connection runs returned 100 rows in 16.1 seconds at 256 MB, 500 rows in 1 minute 59 seconds at 512 MB, and 1,000 rows in 3 minutes 56 seconds at 512 MB. The 1,000-row run used approximately $0.0196 of platform resources. Treat these as small benchmarks, not guarantees: source response time, proxies, and page distribution can change runtime and cost.
- Direct thread URLs are the cheapest option.
- Start with one board and a small
maxThreadsPerBoard. - Use
maxPostsPerThreadandmaxItemsas hard output controls. - Direct connections are the low-cost default; enable a proxy only when necessary.
- No chargeable result should be created for duplicates or posts removed by date filters.
- The Actor is configured for 512 MB. Lower memory settings are not recommended for large runs.
The Actor uses simple introductory pay-per-event pricing. You pay only for a run start and posts actually delivered:
$0.001when a run starts.$0.0003for each post delivered to the default dataset.
| Delivered posts | Current price |
|---|---|
| 1 | $0.0013 |
| 10 | $0.0040 |
| 100 | $0.0310 |
| 1,000 | $0.3010 |
Platform usage is included in these event prices. Set maxTotalChargeUsd in API calls to enforce a run-level spending limit. The minimum useful limit is $0.0013 (one start plus one delivered post). The Apify Console Pricing tab remains the source of truth if prices change later.
Limitations
- Only anonymously accessible public HTML is supported.
- The Actor does not use 8kun JSON endpoints or private APIs.
- Site-wide board discovery and historical archive discovery are not included.
- Deleted, expired, private, challenged, or unavailable pages cannot be returned.
- Source markup and availability can change without notice.
- Attachment URLs remain hosted by the source and may later disappear.
- Poster IDs are public source labels and must not be treated as verified identities.
- Date filtering cannot recover posts that are no longer present in the selected live pages.
Responsible use and content warning
8kun contains unreviewed user-generated content that may be offensive, explicit, misleading, unlawful, or disturbing. The Actor does not classify, endorse, moderate, or verify source content. It does not download attachments, and its logs and run summary do not reproduce post text.
Use the Actor only for legitimate and lawful purposes. Do not use results for harassment, stalking, doxxing, discrimination, unlawful surveillance, threats, or redistribution of material you do not have the right to use. Technical accessibility does not grant intellectual-property or downstream-processing rights. Apply appropriate access controls and retention periods to exported data.
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by 8kun or its operators.
Support
If a public page stops producing results, open an issue from the Actor page and include the run ID, target type, and board name. Do not include post text, attachment links, credentials, or sensitive investigation details in support messages.