# Match count

> A search response does not include a match count, because counting inside a search request would make the search slow for everyone. When you need a number for…

Source: https://warmerly.com/docs/leads/match-count

```text
GET /leads/count
```

A search response does not include a match count, because counting inside a search request would make the search slow for everyone. When you need a number for a segment, to size an export, or to show "312 matches" in a UI, ask for it separately. Takes exactly the same filter params as [search](https://warmerly.com/docs/leads/match-count#search-companies), minus paging.

```bash
curl "https://app.warmerly.com/api/v1/leads/count?country=GB&hiring=true" -H "X-Api-Key: wmv_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
```

```json
{
  "count": { "value": 118520, "exact": true, "capped": false, "wasCountable": true },
  "coverage": { "sampleSize": 1000, "exact": false, "email": 1000, "phone": 612, "companyNumber": 455, "contactForm": 288, "linkedin": 331, "country": 1000 }
}
```

| Field | Description |
| --- | --- |
| `count.value` | The number to show. |
| `count.exact` | `true` when the rows were actually counted, `false` when the figure is a planner **estimate**. Word these differently: estimates on this table run low, so presenting one as a count understates most segments several-fold. |
| `count.capped` | Only with `exact: true`. The count stopped at a hard row ceiling, so `value` is a floor and the real total is larger. |
| `count.exact: false` | Expected on broad segments. A narrow filter gets counted, a country-wide one gets estimated, and an estimate is the intended answer rather than a failure. |

`coverage` reports how many of the matching companies carry each high-value field, so you can see how complete a segment is before you export it. It is measured over at most 1,000 matching rows: when `exact` is `true` the sample was the entire result set and the figures are counts; when it is `false` more rows match than were measured and the figures are a `sampleSize`-row sample, not totals.

`GET /leads/count` has its own per-user throttle of 120 requests per 5 minutes, separate from the search throttle (see [Rate limits](https://warmerly.com/docs/leads/match-count#rate-limits--errors)). Invalid parameters return `400 bad_request` (`invalid_filters`).

## More from Leads

- [Search companies](https://warmerly.com/docs/leads/search-companies): Parameters that fail validation return 400 badrequest with the message invalidfilters.
- [Database size](https://warmerly.com/docs/leads/database-size): How many companies the lead database currently holds. The crawl adds rows continuously, so these figures move.
- [Export to CSV](https://warmerly.com/docs/leads/export-to-csv): Exports matching companies as a CSV file (download, not JSON). Debits your monthly lead export quota by the…
