> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.darknetsearch.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Data Brokers

> Search underground forums and data-broker marketplaces for posts that advertise, trade, or dump your organization's data

Search underground forums and data-broker marketplaces for posts and listings where brokers advertise, trade, or dump leaked data — databases, credentials, and stolen records. Use it to find where a person, brand, or domain surfaces across the broker scene, whether it's being offered for sale or already spilled.

This search covers the broker sources that permit crawling, so their listings can be indexed ahead of time. Russian Market blocks automated access and can't be indexed that way — search it with the live [Data Broker Search](/api/guides/live-data-brokers) instead.

This source is asynchronous. You submit a search term, poll a task list until your term shows `Completed`, then read the full findings by task ID.

<Steps>
  <Step title="Submit">
    Post your search term to [`hf_search_request`](https://client-api.leak.center/scalar-docs/#tag/hacker-forums/POST/service/hf_search_request/). The response returns the task `id` you poll on.

    ```bash theme={"dark"}
    curl -X POST "https://client-api.leak.center/service/hf_search_request/" \
      -H "Authorization: Bearer $DARKNETSEARCH_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"search_term": "acme.com"}'
    ```

    ```json theme={"dark"}
    { "id": 84213, "message": "Request submitted" }
    ```
  </Step>

  <Step title="Poll">
    Call [`hf_search_results`](https://client-api.leak.center/scalar-docs/#tag/hacker-forums/GET/service/hf_search_results/) to list your tasks. Find the entry whose `search_term` matches what you submitted and wait until its `status` reads `Completed`.

    ```bash theme={"dark"}
    curl -X GET "https://client-api.leak.center/service/hf_search_results/?page=1" \
      -H "Authorization: Bearer $DARKNETSEARCH_TOKEN"
    ```
  </Step>

  <Step title="Read">
    Once the task is `Completed`, fetch the full findings from [`retrieve_hacker_forum_task_results/{task_id}`](https://client-api.leak.center/scalar-docs/#tag/hacker-forums/GET/service/retrieve_hacker_forum_task_results/\{task_id}/) using the `id` from the submit step.

    ```bash theme={"dark"}
    curl -X GET "https://client-api.leak.center/service/retrieve_hacker_forum_task_results/84213/" \
      -H "Authorization: Bearer $DARKNETSEARCH_TOKEN"
    ```
  </Step>
</Steps>

### Request parameters

| Parameter     | Type    | Required | Notes                                                                                                                                                                                               |
| ------------- | ------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `search_term` | string  | Yes      | The term to match in broker posts and listings. Supports `<word>` for whole-word, `term*` and `*term` wildcards, `AND` / `OR` / `NOT`, and `( )` for grouping. Max 1024 characters. Sent on submit. |
| `org_id`      | integer | No       | Subsidiary organization ID. System-level (MSSP) accounts only; targets a sub-organization. Optional on both submit and poll.                                                                        |
| `page`        | integer | No       | Page number on the poll call. Defaults to `1`.                                                                                                                                                      |
| `task_id`     | integer | Yes      | Path parameter on the read call. The `id` returned by submit.                                                                                                                                       |

All three endpoints cost 0 credits. Submit and poll are throttled at 1000 requests per day each; the read endpoint allows 10000 per day.

### What comes back

The poll call returns a paginated task list:

* `tasks` — array of your search tasks.
  * `id` — task ID. Pass this to the read endpoint.
  * `status` — task state. Read findings once this is `Completed`.
  * `created_at` — when the task was submitted.
  * `search_term` — the term you submitted. Use it to match the right task.
  * `served_link` — link to the prepared result file, when available.
  * `link_expire_date` — when `served_link` stops working.
* `current_page` — the page you are on.
* `total_pages` — total pages of tasks.

The read call returns an array of findings, one object per match:

* `source` — the forum or marketplace the post was found on.
* `date_scrapped` — when the post was collected.
* `meta` — post metadata (thread, author, and related context).
* `content` — the post text matched by your term — a broker listing, sale offer, or data dump.

```json theme={"dark"}
[
  {
    "source": "exampleforum",
    "date_scrapped": "2026-05-18",
    "meta": "thread: marketing-list-dump | author: vendor_x",
    "content": "Acme Corp customer export — name: Jane Doe, email: jane.doe@acme.com, city: Springfield"
  }
]
```

Each `content` block is the broker post or listing that named your search term. Pivot on the email, name, or domain inside it to confirm whether Acme records are being traded, then feed confirmed findings into your exposure and takedown workflows.
