Dark Web Search - Onion Index Results API avatar

Dark Web Search - Onion Index Results API

Pricing

from $25.00 / 1,000 search results

Go to Apify Store
Dark Web Search - Onion Index Results API

Dark Web Search - Onion Index Results API

Search a public Tor hidden-service index for brand, domain or keyword mentions and get onion URLs, titles, snippets, ranks and collection time. Metadata only: result pages are never opened. For threat-intel, brand-protection and OSINT triage.

Pricing

from $25.00 / 1,000 search results

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

3

Monthly active users

14 days ago

Last modified

Share

What is Dark Web Search - Onion Index Results API?

Search a public Tor hidden-service index with 1–10 keywords and receive one structured record for each returned .onion result. Records contain the query, rank, title, onion URL, domain, source snippet, reported match count, and collection time. It is for lawful threat-intelligence, brand-protection, academic, and OSINT triage when the first need is a bounded list of index results—not page content.

Best fit for this Actor

  • Start with a short search query such as an authorized research topic or brand.
  • Set maxResultsPerQuery before starting to bound both result volume and cost.
  • Use Dark Web Scraper - Tor .onion Page Extractor only after you have a lawful, specific URL you are permitted to inspect. This actor does not fetch search-result pages.

This focused workflow covers public-index result metadata. The supplied-URL extractor is the constructive next step for a separately authorized page review.

Research workflow

An analyst runs one bounded query for an authorized topic, keeps sourceUrl, query, and fetchedAt alongside their notes, and manually decides whether any result is in scope for a later authorized review. The actor never opens returned .onion links, keeping search and page collection separate and auditable.

Quick start

{
"searchQueries": ["Tor privacy research"],
"maxResultsPerQuery": 10,
"responseFormat": "concise"
}
FieldTypeWhat it controls
searchQueriesstring[]One to ten unique keywords, each 2–100 characters. URLs are not accepted.
maxResultsPerQueryintegerSaved-result cap per query, from 1 to 50; defaults to 10.
responseFormatenumconcise returns core fields; detailed adds a provenance statement but still does not fetch a result page.

What data you receive

One dataset item is one valid .onion result returned by the public source for one query. The URL and snippet are source-index metadata; availability, safety, and page content are not verified.

{
"query": "Tor privacy research",
"rank": 1,
"title": "Illustrative result title",
"url": "http://exampleexample.onion/research/",
"onionDomain": "exampleexample.onion",
"snippet": "Snippet returned by the source index.",
"source": "ahmia",
"totalResultsReported": 42,
"fetchedAt": "2026-08-30T14:26:00.000Z"
}

The run saves OUTPUT (compact outcome) and RUN_SUMMARY (counts, warnings, safe errors, and actual charges). COMPLETE, PARTIAL, VALID_EMPTY, and INVALID_INPUT are successful terminal outcomes. A source outage with no useful output becomes UPSTREAM_FAILED, not a misleading empty success.

Pricing

This actor uses Pay per event with Apify platform usage included.

EventWhen charged
Actor startOnce after valid input is accepted.
Search resultOnce for each validated onion result saved to the dataset.

A run capped at 10 results bills at most one Actor start event and 10 Search result events, with Apify platform usage included. See the Pricing tab for current event prices; result events apply only to validated records that reach the dataset.

API and MCP

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/dark-web-search').call({
searchQueries: ['Tor privacy research'],
maxResultsPerQuery: 10,
responseFormat: 'concise',
});
console.log((await client.dataset(run.defaultDatasetId).listItems()).items);

Search the public hidden-service index for my authorized research topic. Return at most 10 result metadata records, preserve query, sourceUrl, and fetchedAt, and keep the workflow at result-metadata scope.

For AI agents, use the current client-specific setup at Apify MCP. Inspect OUTPUT before treating an empty dataset as no matches: VALID_EMPTY means the source responded with no valid results; UPSTREAM_FAILED means it could not be reached.

Best results

  • Use precise, non-sensitive research queries and keep the result cap low while validating relevance.
  • Preserve source fields in an evidence log; index results can change and may include stale URLs.
  • Treat each returned URL as a lead for human authorization and relevance review before the next workflow step.

Builder's note

I built the source flow after testing the live index: it rotates both the hidden form-field name and value before returning results. The actor retrieves that server-issued pair on every run, which keeps the integration aligned with the source's current form contract.

Responsible use

Use only for legitimate, authorized research and comply with applicable laws, regulations, source terms, and Apify policies. Search indexes can expose harmful or illegal material. This actor intentionally returns limited metadata only and does not access, download, authenticate to, or bypass controls on returned services.