> ## 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.

# App Store Monitoring

> Find spoofed apps impersonating your brand on the iTunes and Google Play stores

Search the iTunes and Google Play stores for apps impersonating your brand. Spoofed apps phish your customers' credentials and ride on your name in store search results, so finding them early protects both your users and your trademark.

This source is asynchronous. You submit a search, poll until it finishes, then read the matches.

<Steps>
  <Step title="Submit">
    `POST` your brand term to [`create_store_search_request`](https://client-api.leak.center/scalar-docs/#tag/app-store-search/POST/service/create_store_search_request/). It returns a request `id`.

    ```bash theme={"dark"}
    curl https://client-api.leak.center/api/service/create_store_search_request/ \
      -X POST \
      -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"search_term": "Acme"}'
    ```
  </Step>

  <Step title="Poll">
    `GET` [`get_store_search_request/{id}`](https://client-api.leak.center/scalar-docs/#tag/app-store-search/GET/service/get_store_search_request/\{id}/) with the `id` from the previous step. Repeat until `status` reports the search has finished.

    ```bash theme={"dark"}
    curl https://client-api.leak.center/api/service/get_store_search_request/REQUEST_ID/ \
      -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
    ```
  </Step>

  <Step title="Read">
    `GET` [`list_store_search_result`](https://client-api.leak.center/scalar-docs/#tag/app-store-search/GET/service/list_store_search_result/), passing the request id as `searchrequest`, and page through the matching apps.

    ```bash theme={"dark"}
    curl "https://client-api.leak.center/api/service/list_store_search_result/?searchrequest=REQUEST_ID&page=1&page_size=100" \
      -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
    ```
  </Step>
</Steps>

### Request parameters

**Submit** ([`create_store_search_request`](https://client-api.leak.center/scalar-docs/#tag/app-store-search/POST/service/create_store_search_request/)):

| Parameter     | Type   | Required | Notes                                                                             |
| ------------- | ------ | -------- | --------------------------------------------------------------------------------- |
| `search_term` | string | Yes      | Brand or app name to look for, max 255 characters.                                |
| `org_id`      | string | No       | Subsidiary organization ID. Only for system-level users targeting a specific org. |

**Read** ([`list_store_search_result`](https://client-api.leak.center/scalar-docs/#tag/app-store-search/GET/service/list_store_search_result/)):

| Parameter       | Type    | Required | Notes                                         |
| --------------- | ------- | -------- | --------------------------------------------- |
| `searchrequest` | string  | Yes      | The request `id` returned by the submit step. |
| `page`          | integer | No       | Page number, 1-based. Defaults to `1`.        |
| `page_size`     | integer | No       | Results per page. Defaults to `100`.          |

Both `create_store_search_request` and `list_store_search_result` cost 0 credits. Submit is throttled at 100 requests/day; poll and read are each throttled at 500 requests/day.

### What comes back

The poll endpoint returns the request object. Watch its `status` field to know when the search is done:

* `id` — the request ID you poll and pass as `searchrequest`.
* `search_term` — the term you submitted.
* `create_date` / `update_date` — when the request was created and last updated.
* `status` — the search state; read results once it reports finished.
* `is_monitoring`, `alert_cycle`, `is_email`, `is_reporting`, `report_id` — monitoring and reporting flags for the request.
* `follow_up_token` — token tying this search to its tracking record.

The read endpoint returns a paginated list. Each item is one app found in a store:

* `id` — result ID.
* `name` — the app's listed name.
* `store` — which store it was found in (for example `itunes` or `google_play`).
* `link` — direct URL to the store listing.
* `searchrequest` — the request ID this result belongs to.
* `appeared_date` — the date the app was first seen.
* `updated_at` — when the record was last updated. Formatted `DD/MM/YYYY, HH:MM:SS` (nullable) — not ISO 8601.

```json theme={"dark"}
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "5f3a1c20-9b1e-4d8a-bc7e-2a4f1e9c0d11",
      "name": "Acme Wallet",
      "store": "google_play",
      "link": "https://play.google.com/store/apps/details?id=com.acme.wallet.fake",
      "searchrequest": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "appeared_date": "2026-06-15",
      "updated_at": "2026-06-20T08:42:11"
    }
  ]
}
```

Open the `link` for each result and confirm whether the listing is genuinely yours. For confirmed impersonators, file a takedown with the store and watch `appeared_date` to gauge how long the spoofed app has been live and exposing your customers.
