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

# Lusha Prospect Tool

> Discover new B2B contacts or companies matching an ideal customer profile using Lusha filters

## What it does

Lusha Prospect finds people or companies you **don't already have** by filtering Lusha's database — by department, seniority, location, company size, revenue, industry, technologies, and intent. It returns cheap, non-PII previews (name, title, company, location) plus each match's `id` and a `canReveal` list showing which data points exist and what they cost. Hand those ids to [Lusha Enrich](/tools/lusha_enrich) to reveal contact details only for the matches worth contacting.

<Note>
  **Requires Lusha Integration**: Set up the [Lusha integration](/integrations/lusha) before agents can use this tool.
</Note>

## Key features

* Filter-based discovery over Lusha's full B2B database (top of funnel — find the names)
* Person filters: department, seniority, country/location, required data points
* Company filters: size, revenue, location, industry, NAICS/SIC, technologies, intent topics
* Returns non-PII previews — no reveal credits spent on discovery
* Paginate up to 50,000 results per query
* Each match includes an `id` ready to pass to Lusha Enrich

## Parameters

| Parameter         | Type   | Required | Description                                                                                                                                                                                           |
| ----------------- | ------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_type`     | string | No       | `contact` (default) to return people, or `company` to return companies                                                                                                                                |
| `contact_filters` | object | No\*     | Person filters: `departments`, `seniority` (ids: 10=founder, 9=c-suite, 8=vp, 7=partner, 6=director, 5=manager, 4=senior, 3=entry, 2=intern, 1=other), `existingDataPoints`, `countries`, `locations` |
| `company_filters` | object | No\*     | Company filters: `names`, `domains`, `sizes` (`[{min,max}]`), `revenues`, `locations`, `naics`, `sics`, `industriesLabels`, `technologies`, `intentTopics`                                            |
| `page`            | number | No       | Zero-based page index (default `0`)                                                                                                                                                                   |
| `size`            | number | No       | Results per page, 10–50 (default `25`)                                                                                                                                                                |

\*At least one of `contact_filters` / `company_filters` is required. A contact search can filter on company attributes too — pass both.

## Common use cases

### Find decision-makers at target-sized companies

```
entity_type: "contact"
contact_filters: { "departments": ["Finance"], "seniority": [9, 8] }
company_filters: { "sizes": [{ "min": 51, "max": 200 }] }
size: 25
```

Returns C-suite and VP finance leaders at 51–200 employee companies, as previews.

### Build a target-account list

```
entity_type: "company"
company_filters: { "industriesLabels": ["Construction"], "revenues": [{ "min": 10000000 }], "locations": ["Texas"] }
```

Returns Texas construction companies above \$10M revenue.

### Page through a large result set

```
entity_type: "contact"
contact_filters: { "departments": ["Sales"], "countries": ["United States"] }
page: 1
size: 50
```

Repeat with increasing `page` until you've collected enough matches.

## What you get back

* `results[]` — each preview includes `id`, name, `jobTitle`, `company`, `location`, `has` (available fields), and `canReveal` (`[{ field, credits }]`)
* `total_matches` — total number of records matching the filters
* `page` / `size` — the page returned
* `rate_limits` — remaining requests for the minute/hour/day window

## Best practices

* **Prospect first, enrich second** — discovery is cheap; only spend reveal credits on the subset worth contacting
* **Start broad, then narrow** — overly specific filters can return zero matches
* **Use `canReveal`** to see whether a match even has an email/phone before enriching
* **Page deliberately** — each page is a request that counts against rate limits

## Troubleshooting

**"Provide at least one of contact\_filters / company\_filters"**

* Pass a non-empty filter object — see the keys in the Parameters table

**"No results returned"**

* Loosen filters; combining many narrow constraints can eliminate all matches

**"Lusha rate limit hit (429)"**

* Slow down or wait for the window to reset — limits vary by plan

## Related tools

* [Lusha Enrich](/tools/lusha_enrich) — reveal emails, phones, and firmographics for the ids returned here
