TOR Scraper - Dark Web & .onion Site Data Extractor
Pricing
from $0.70 / 1,000 results
TOR Scraper - Dark Web & .onion Site Data Extractor
Scrape .onion hidden services and websites anonymously over TOR. Provide a list of URLs or search the dark web by keyword, extract page content, and pull any data using CSS selectors. No setup required. TOR runs automatically in the cloud.
Pricing
from $0.70 / 1,000 results
Rating
0.0
(0)
Developer
Iñigo Garcia Olaizola
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
🧅 TOR Scraper – Dark Web & .onion Site Data Extractor
Extract data from any .onion hidden service or website anonymously over the TOR network. Scrape URLs directly or search the dark web by keyword (one or more queries) and let the actor discover and scrape matching hidden services for you — no setup, no proxies to configure, no technical knowledge required. Just run.
⚡ What can it do?
- Scrape any .onion address or regular website routed through TOR
- Search the dark web with a keyword and automatically scrape matching hidden services
- Extract custom data from any page using CSS selectors — links, headlines, prices, metadata, anything
- Capture full content — page title, plain text, and raw HTML for every URL
- Never lose a result — even failed pages are saved with an error message so you always know what happened
🤔 Why use this actor?
Whether you're a researcher monitoring dark web forums, a journalist tracking hidden services, or a security professional gathering threat intelligence, this actor handles the hard part: accessing TOR, fetching pages, parsing content, and delivering clean structured data — ready to export as JSON, CSV, or Excel.
No TOR installation. No proxy configuration. Just run.
🚀 How it works
- Paste your URLs — enter any
.onionor regularhttps://address - Or search the dark web — enter one or more keywords to discover and scrape matching hidden services automatically
- Optionally define extraction rules — use CSS selectors to pull specific data points from every page
- Get your data — results are saved to a structured dataset the moment each page is scraped
📥 Input
| Field | Key | Type | Description |
|---|---|---|---|
| URLs | urls | string[] | One or more URLs to scrape directly. Supports both .onion hidden service addresses and regular https:// URLs. |
| Search queries | queries | string[] | One or more keywords. The actor will search the dark web for each query and scrape the matching hidden services. Can be combined with URLs. |
| Max Items | maxItems | integer | Maximum number of pages to scrape across all queries and URLs. Set to 0 (default) for no limit. |
| CSS selectors | selectors | object[] | Optional extraction rules. See Extracting specific data with CSS selectors for details and examples. |
📦 Output
Every scraped URL produces one dataset row:
| Field | Description |
|---|---|
| URL | The address that was scraped |
| Status code | HTTP response code (0 if the server was unreachable) |
| Title | Page <title> |
| Text | Full plain text — scripts, styles, and markup removed |
| HTML | Raw HTML source |
| Fields | Arrays of values extracted with your CSS selectors |
| Search title | Title of the result as returned by the dark web search engine (only when using keyword search) |
| Search description | Snippet returned by the dark web search engine (only when using keyword search) |
| Error | Error message if the page failed to load |
🎯 Extracting specific data with CSS selectors
Want to pull just the links, headlines, or prices from each page? Define named extraction rules as JSON:
[{ "name": "heading", "selector": "h1:first-of-type", "single": true },{ "name": "links", "selector": "a::attr(href)" },{ "name": "images", "selector": "img::attr(src)" },{ "name": "description", "selector": "meta[name=description]::attr(content)", "single": true },{ "name": "navLinks", "selector": "nav a::attr(href)" },{ "name": "ogImage", "selector": "meta[property='og:image']::attr(content)", "single": true },{ "name": "feed", "selector": "link[type='application/rss+xml']::attr(href)", "single": true }]
Each rule supports three properties:
| Property | Description |
|---|---|
name | Key used in the fields output |
selector | CSS selector. Append ::attr(name) to extract an HTML attribute instead of text |
single | If true, returns only the first match as a plain string instead of an array |
Returning arrays vs single values: by default every rule returns all matching elements as an array. Set "single": true when you expect exactly one result (a page title, a canonical URL, a meta description) and want a plain string in the output.
Picking a specific element: use standard CSS pseudo-classes — :first-of-type, :last-of-type, :nth-of-type(n) — to target a particular occurrence before extracting:
{ "name": "secondHeading", "selector": "h2:nth-of-type(2)", "single": true }
Example output:
{"heading": "Welcome to the dark web","links": ["http://example.onion/about", "http://example.onion/contact"],"description": "An anonymous service for ...","navLinks": ["http://example.onion/home", "http://example.onion/faq"]}
Results appear in the fields column of your dataset.
💡 Use cases
- Dark web research — monitor
.onionforums, blogs, and marketplaces for content and changes - Threat intelligence — track leaked credentials, infrastructure, and activity across hidden services
- Investigative journalism — access and archive TOR-only sources securely and anonymously
- Academic research — map and analyze dark web content at scale
- Anonymous data collection — scrape any website without exposing your IP address
❓ Frequently asked questions
Do I need to install TOR or configure anything? No. TOR runs automatically in the cloud inside the actor — zero setup required.
Can it scrape regular websites as well as .onion sites?
Yes. Any https:// URL works alongside .onion addresses in the same run.
What happens if a page fails to load? The page is still saved to the dataset with the error message and status code, so you never lose track of which URLs were attempted.
How do I find .onion sites to scrape? Use the built-in dark web search: enter one or more keywords and the actor discovers matching hidden services and scrapes them automatically — no manual URL hunting needed.
How many pages can I scrape? By default there is no limit. Use Max Items to cap the number of pages scraped in a single run.