---
title: "Queue an async mass unlock task for advanced search"
method: POST
path: "/search/advanced/unlock/task"
tags: ["Search Advanced"]
---

# Queue an async mass unlock task for advanced search

`POST /search/advanced/unlock/task`

Creates an asynchronous unlock **Task** for the given advanced filters. Returns a `task_id` you can poll with the task-status endpoint.

**Concurrency limit**
- advanced / raw: max 2 concurrent tasks per user.
- email / domain: max 5 concurrent tasks per user.
- Returns 429 if limit exceeded.

## Query parameters

- `max` integer, nullable — Optional cap of new unlocks.
- `list_id` integer, nullable — Assign this list id to new unlocks.

## Request body

- LeakSearchFilters
  - `username` string[], nullable — Username values to match.
  - `username_not` string[], nullable — Username values to exclude.
  - `username_match_type` 'contains' | 'starts_with' | 'ends_with'
  - `username_not_match_type` 'contains' | 'starts_with' | 'ends_with'
  - `password` string[], nullable — Password values to match.
  - `password_not` string[], nullable — Password values to exclude.
  - `password_match_type` 'contains' | 'starts_with' | 'ends_with'
  - `password_not_match_type` 'contains' | 'starts_with' | 'ends_with'
  - `url` string[], nullable — URL values to match.
  - `url_not` string[], nullable — URL values to exclude.
  - `url_match_type` 'contains' | 'starts_with' | 'ends_with'
  - `url_not_match_type` 'contains' | 'starts_with' | 'ends_with'
  - `url_domain` string[], nullable — URL domain values to match.
  - `url_domain_not` string[], nullable — URL domain values to exclude.
  - `url_domain_match_type` 'contains' | 'starts_with' | 'ends_with'
  - `url_domain_not_match_type` 'contains' | 'starts_with' | 'ends_with'
  - `url_host` string[], nullable — URL host values to match.
  - `url_host_not` string[], nullable — URL host values to exclude.
  - `url_host_match_type` 'contains' | 'starts_with' | 'ends_with'
  - `url_host_not_match_type` 'contains' | 'starts_with' | 'ends_with'
  - `username_hash` string[], nullable — Username SHA-1 hash prefix (hex).
  - `password_hash` string[], nullable — Password SHA-1 hash prefix (hex).
  - `url_scheme` string[], nullable — URL scheme(s) to include (multi).
  - `url_scheme_not` string[], nullable — URL scheme(s) to exclude (multi).
  - `url_port` integer[], nullable — URL port(s) to include (multi).
  - `url_port_not` integer[], nullable — URL port(s) to exclude (multi).
  - `url_tld` string[], nullable — URL TLD(s) to include (multi).
  - `url_tld_not` string[], nullable — URL TLD(s) to exclude (multi).
  - `is_email` boolean, nullable — Identifier type filter: true=email only, false=username only, null=both.
  - `email_domain` string[], nullable — Email domain values to match.
  - `email_domain_not` string[], nullable — Email domain values to exclude.
  - `email_domain_match_type` 'contains' | 'starts_with' | 'ends_with'
  - `email_domain_not_match_type` 'contains' | 'starts_with' | 'ends_with'
  - `email_host` string[], nullable — Email host values to match.
  - `email_host_not` string[], nullable — Email host values to exclude.
  - `email_host_match_type` 'contains' | 'starts_with' | 'ends_with'
  - `email_host_not_match_type` 'contains' | 'starts_with' | 'ends_with'
  - `email_tld` string[], nullable — Email TLD(s) to include (multi).
  - `email_tld_not` string[], nullable — Email TLD(s) to exclude (multi).
  - `password_strength` 'too_weak' | 'weak' | 'medium' | 'strong'
  - `added_from` string, date-time, nullable — Only include leaks indexed on/after this UTC datetime.
  - `added_to` string, date-time, nullable — Only include leaks indexed on/before this UTC datetime.
  - `force_and` boolean, nullable — When true, require all values within each field (AND within field).

## Response `200`

Unlock task queued; returns a task_id to poll.

- object

## Other responses

- `400` — Insufficient points, or unlock not needed on your plan (all data already accessible).
- `401` — Authentication required, or invalid/expired API key.
- `403` — Advanced search not available on your plan, this search is blocked, account banned, or pending email verification.
- `404` — The provided list_id does not exist or is not yours.
- `422` — Validation Error
- `429` — Rate limit exceeded, or too many concurrent unlock tasks (max 2 for advanced).
- `503` — Advanced search under maintenance, or public API temporarily disabled.

---

[API](https://skmtc.dev/leakradar/apis/leakradar-io-api.md) · [All operations](https://skmtc.dev/leakradar/apis/leakradar-io-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/leakradar/leakradar-io-api/revisions/eb219e94d077/schema)
