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

# Contact search

> Search masked contacts at Shopify stores.

Use `POST /contacts/search` to find likely decision-makers before spending reveal credits.

Contact search returns masked contact data. It does not return raw emails, phone numbers, or LinkedIn URLs.

```bash theme={null}
curl https://storeinspect.com/api/v1/contacts/search \
  -H "Authorization: Bearer $STOREINSPECT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "person": {
      "roles_any": ["founder", "ecommerce_manager"],
      "seniority_any": ["owner", "executive", "manager"],
      "has_verified_email": true
    },
    "store": {
      "countries": ["US"],
      "apps": {
        "any": ["Klaviyo"]
      }
    },
    "limit": 25
  }'
```

## Preview first, reveal second

Use contact search to select the contacts you actually need. Then pass those contact IDs to `POST /contacts/reveal`.

If your workflow requires email, set `person.has_verified_email` to `true` and check `has_verified_email` in each preview. This selects contacts with at least one email that StoreInspect can return. A contact without a returnable email may still have a phone or LinkedIn profile; revealing that contact spends one credit and can return `emails: []`.

<Info>
  LinkedIn URLs are treated as reveal-gated contact channels in the API.
</Info>
