Skip to main content

Overview

This page documents the filters JSON shape supported by semantic and lookalike search.

Prerequisites

Generate tokens in Dashboard API Tokens. For full setup, see Authentication.

Endpoints used

Filters shape

On the GET endpoints, send filters as a JSON string (URL-encoded). On the POST endpoints, send filters as a native JSON object in the request body.
All sections are optional. range.founded.max shown here is an example value, not a product limit.

Supported fields

exclude.domains accepts company domains or full URLs; each is normalized to its registered domain, so https://www.stripe.com/pricing, stripe.com, and blog.stripe.com all exclude stripe.com. A large exclusion list does not fit a GET URL — use the POST endpoints for lists beyond a few hundred domains.

Supported size values

Use exact values:
  • 1-10
  • 11-50
  • 51-200
  • 201-500
  • 501-1000
  • 1001-5000
  • 5001-10000
  • 10001+

Copy-paste request example

For a large exclude.domains list, POST filters as a JSON object instead:

Troubleshooting

422 Unprocessable Entity

The filters JSON is malformed or includes unsupported keys. Validate your filters JSON before sending: echo '<filters-json>' | jq empty.

Filter returns no results

Start broad, then narrow one filter dimension at a time. Remove all but one filter group (include, exclude, or range) and re-run to find the limiting condition.