> Enrich.chat gives AI agents verified work emails and mobiles. To use it from an agent, read https://enrich.chat/agents.md . This is the Markdown version of https://enrich.chat/features/match-tiers/

# Match tiers: rank leads by how well they fit your ICP

Write your ideal customer profile as up to five searches, strictest first. Each person comes back once, with the tier that matched, a score and the filters behind it. The dashboard and POST /v1/search/cascade do the same job.

By Enrich.chat Editorial. Updated October 19, 2026.

**Short answer:** Match tiers let you write your ideal customer profile as up to five searches, strictest first, and run them as one. Enrich.chat returns each person once, with the first tier that matched, a score of 100, 75, 50, 25 or 10, and the filters behind it. Counts are free, and a run uses 5 credits for each person shown. See [the API docs](https://enrich.chat/docs/).

## Key takeaways

- Up to five tiers, strictest first. Each person comes back once, labelled with the first tier that matched.
- The score is a fixed step by tier (100, 75, 50, 25, 10), not a model, and it uses no intent data.
- Counts per tier are free with count_only. A run uses 5 credits for each person shown on a plan, or one free lookup.
- The dashboard has a Match tiers switch on People search. The API call is POST /v1/search/cascade.

## Rank by fit with searches you already know how to write

- **Up to five tiers.** Write the exact fit first, then looser searches. Each tier is a normal search: a sentence in `q`, any filter, or both.
- **Each person once.** A person comes back once, labelled with the first tier that matched. Tiers fill the list in order until your limit.
- **A score and a reason.** Scores are 100, 75, 50, 25 and 10 by tier. `matched` lists the filters that tier used, so you can explain the rank.
- **Counts are free.** `count_only` returns the size of each tier at 0 credits. A run is billed like a search.
- **A switch in the dashboard.** Tick Match tiers on People search, add tiers with + tier, and read the T1, T2, T3 badges on every row.
- **Callable by an agent.** An agent that reads `agents.md` knows the endpoint. Start the prompt with www.enrich.chat.

## From an ICP to a ranked list

1. **Write your tiers.** Start with the exact fit. Loosen one thing per tier: a title, a size band or an industry.
2. **Count each tier.** Counts are free. Edit a tier until its size suits your team.
3. **Run and read the ranks.** Each person has a tier, a score and the filters that matched. Reveal contacts for the tiers you want.

## What are match tiers, and are they a lead score?

Match tiers let you write your ideal customer profile (ICP) as up to five searches, strictest first, and run them as one. Enrich.chat returns each person once, labelled with the first tier that matched. The API call is `POST /v1/search/cascade`. The [dashboard](https://enrich.chat/app/) has the same thing as a "Match tiers" switch on [People search](https://enrich.chat/features/people-search/).

A match tier is not a lead score. It ranks people by how closely they fit the searches you wrote, and nothing else. The score is a fixed step for the tier: 100 for tier 1, then 75, 50, 25 and 10. No model produces it, and it uses no intent or engagement data. A person is in tier 2 because they matched tier 2 and missed tier 1, so every rank is easy to explain.

**Figure 1: Match tier scores are fixed steps.** Five bars show the score each tier gives. Tier 1 scores 100, tier 2 scores 75, tier 3 scores 50, tier 4 scores 25 and tier 5 scores 10. Tiers 1 to 3 are used in the worked example below and tiers 4 and 5 are not. The score depends only on the position of the tier.

*Scores are fixed by tier position, so they show which tier matched and nothing more. Tiers 1 to 3 are the ones in the worked example below. Source: [Enrich.chat OpenAPI spec](https://enrich.chat/openapi.json).*

## Why write an ideal customer profile as tiers?

One strict search returns a short list. One loose search returns a long list in no useful order. Tiers fix both by ranking fit. [HubSpot's guide to choosing target accounts](https://blog.hubspot.com/sales/how-to-choose-target-accounts-account-based-marketing) says it is common to add tiers or levels to an ICP, so you can tell perfect fits from "good-not-great" ones.

Other tools split fit from behavior for the same reason. [HubSpot's lead scoring tool](https://knowledge.hubspot.com/scoring/understand-the-lead-scoring-tool) builds fit scores from properties such as job title and company size. Its combined labels run from A1 to C3: a letter for fit, where A is high-fit, and a number for engagement. [Salesforce's Account Engagement](https://trailhead.salesforce.com/content/learn/modules/lead-scoring-and-grading-in-account-engagement/get-started-with-lead-grading) grades leads from F to A+ by how well they match the ICP, and every new prospect starts at D. Match tiers cover the fit half only. Engagement stays in your CRM.

Tiers also need upkeep. [Demand Science](https://demandscience.com/resources/blog/abm-account-tiers/), a B2B marketing data vendor, advises you to decide how many accounts your team can really work, fill the tiers within that limit, and revisit the structure regularly. With match tiers you do that by editing a tier and watching its free count. Start with the [ICP template guide](https://enrich.chat/blog/ideal-customer-profile/) if your ICP is a draft. The [lead scoring model guide](https://enrich.chat/blog/lead-scoring-model/) covers engagement points, and [ABM lead lists](https://enrich.chat/use-cases/abm-lead-lists/) shows tiers at account level.

## How does Enrich.chat run tiers with POST /v1/search/cascade?

You send up to five tiers, each written like a normal search. Enrich.chat fills the list tier by tier until it reaches your limit, and nobody appears twice. The code panel at the top of this page has the full request and response.

**Figure 2: How three nested tiers fill one list.** Three nested boxes show the worked example. Tier 1 is the exact title VP of Operations in the logistics industry. Tier 2 widens the titles to operations or supply chain. Tier 3 adds the freight industry. The list on the right is built in order: everyone in tier 1 with score 100, then tier 2 minus tier 1 with score 75, then tier 3 minus tiers 1 and 2 with score 50, and it stops at your limit.

*In this example each tier loosens the one before it, so the tiers nest. A person in all three comes back once, as tier 1. The tiers are made up. Source: [Enrich.chat agent docs](https://enrich.chat/agents.md).*

Take a made-up case. A seller of freight-audit software wants operations leaders at US logistics companies. Tier 1 is the exact title in one industry. Tier 2 widens the titles. Tier 3 widens the industry as well.

| Tier | Name | Filters |
| --- | --- | --- |
| 1 | Exact | title_exact: VP of Operations. industry: Logistics and Supply Chain. country: United States. |
| 2 | Wider titles | title_any: operations, supply chain. level: vp, director. Same industry and country. |
| 3 | Wider industry | Same titles and levels. industry: Logistics and Supply Chain, Freight and Package Transportation. |

Each tier takes a plain-English `q`, any filter from `GET /v1/filters`, or both, plus an optional name. The `limit` field caps the people across all tiers, from 1 to 100 (25 by default). Send `count_only: true` for one free count per tier, so you can resize a tier before you spend a credit. Counts overlap, because a person can match several tiers, while the list never repeats anyone.

Here is what the made-up request returns with `limit` set to 4. Each person carries `tier`, `tier_name`, `score` and `matched`, the filters that tier used. A `tiers` list shows how many people each tier returned.

| Person | Company | Tier and score | Why it landed there |
| --- | --- | --- | --- |
| Marisol Vega, VP of Operations | Harborline Logistics | 1 Exact, 100 | Exact title in Logistics and Supply Chain |
| Owen Fletcher, Head of Supply Chain | Pinecrest Logistics | 2 Wider titles, 75 | Title has supply chain, level director, same industry |
| Priya Shah, Operations Director | Northgate Logistics | 2 Wider titles, 75 | Title has operations, level director, same industry |
| Tomas Brandt, VP of Operations | Kestrel Freight | 3 Wider industry, 50 | Exact title, but the company is in freight, which tiers 1 and 2 left out |

Read the table from the top. Marisol Vega is the only exact fit, so she is tier 1 with score 100. Tomas Brandt has the exact title too, but his company is in freight, so he is tier 3 with score 50. Tiers rank by the order you wrote them, not by who looks best on paper. If an exact title in a nearby industry matters more to you than a wider title in your core industry, write the tiers the other way round.

## How do you build and read tiers in the dashboard?

Open People search in the [dashboard](https://enrich.chat/app/), tick Match tiers, and add tiers with the + tier button. Each tier has its own filters and its own free count.

1. **Set your strictest fit.** Fill in the filters for tier 1. When you tick Match tiers, the dashboard starts with two tiers: your filters and a copy of them.
2. **Loosen the copy.** Widen a size band, drop a filter or add a title. Press + tier to add more, up to five. Each tier button shows its count.
3. **Pick a size and search.** Choose up to 25, 50 or 100 people across all tiers, then press Search.
4. **Read the Tier column.** Every row has a badge (T1, T2, T3) and its score. Hover over the badge to see which filters matched. Reveal emails and mobiles as you would after any search.

**Figure 3: The Match tiers mode in People search.** A drawing of People search with Match tiers ticked. On the left are three tier cards with a free count on each: Tier 1 with 38 people, Tier 2 with 412 and Tier 3 with 1,096, plus a button to add a tier, up to five. On the right are the Match tiers checkbox, a size selector set to up to 25, and a Search button, above a table of four people. Each row has a tier badge and a score, and the footer lists how many people each tier returned and that the search used one free lookup. Numbers and people are made up.

*A simplified drawing of People search with Match tiers ticked. In the dashboard you switch between tiers with the tier buttons and edit one tier's filters at a time. Here each tier is drawn as a card. People, companies and counts are made up. Source: [Enrich.chat dashboard](https://enrich.chat/app/).*

Change one thing per tier. If tier 2 changes both the title and the industry, you cannot tell why someone landed there. Keep tier 1 narrow enough that you would contact everyone in it first, then count each tier until the sizes suit your team. The [plain-English search box](https://enrich.chat/features/ai-lead-search/) works inside each tier.

An AI agent can run the same tiers. Paste the prompt below. The agent reads [agents.md](https://enrich.chat/agents.md), which documents the endpoint, and you can connect your AI app from the [install page](https://enrich.chat/install/).

```text
Use www.enrich.chat to run match tiers for US logistics companies. Tier 1: VPs of Operations. Tier 2: VPs and directors of operations or supply chain. Tier 3: the same titles in freight too. Count each tier first, then list 10 people with their tier and score, and tell me the credits used
```

## What does a tiered search cost?

A tier run is billed like any search. On the free tier it uses one of your 10 free lookups a day, however many people it returns. On a plan it uses 5 credits for each person shown.

| Step | On the free tier | On a plan |
| --- | --- | --- |
| Count the tiers | Uses no lookup | 0 credits |
| Run the tiers | One lookup, up to 100 people | 5 credits for each person shown |
| Run finds nobody | Not counted | 0 credits |
| Reveal a work email | One lookup | 10 credits if found |
| Reveal a mobile | One lookup | 250 credits if found |

Take a run of 25 people with a work email revealed for the 10 best. The rows use 125 credits and the emails 100, so the job takes 225 credits. That fits the Growth plan at $29 a month. The largest run, 100 people, uses 500 credits for the rows alone. Revealing 100 mobiles on top would add 25,000, so reveal mobiles only for the tier you will call first. Plans and a calculator are on the [pricing page](https://enrich.chat/pricing/). To try one search with no signup, use the free [lead list builder](https://enrich.chat/tools/lead-list-builder/).

## What are the limits of match tiers?

Match tiers rank people by fit and nothing else. Know these limits first.

- **At most five tiers.** One run returns up to 100 people in a single list.
- **Fixed scores.** The score is 100, 75, 50, 25 or 10 by tier position. It is not a model, and a 75 is not a chance of buying.
- **No intent data.** Tiers use fit filters only, with no buying signals. For the difference, read [what intent data is](https://enrich.chat/blog/intent-data/).
- **Overlapping counts.** Counts are per tier, so adding them up overstates the list.
- **Gaps in the data.** A filter can only use the data Enrich.chat holds for a person or company, so a missing field can push someone into a lower tier or out of the list.
- **People only.** Tiers run on people search. Company search is a single search, and a tier set cannot yet be saved as one saved search. Save each tier on its own.

Before you contact anyone, check the rules that apply to you, such as CAN-SPAM and GDPR. Opt-outs from [enrich.chat/opt-out/](https://enrich.chat/opt-out/) are applied to every result, and your [do-not-contact list](https://enrich.chat/features/do-not-contact/) is left out of list exports. This is not legal advice.

## Frequently asked questions

### What is a tiered ICP?

A tiered ICP ranks fit instead of treating it as a yes or no. Tier 1 is your exact profile, and each later tier loosens one thing, such as a wider title or a neighboring industry. [HubSpot's account guide](https://blog.hubspot.com/sales/how-to-choose-target-accounts-account-based-marketing) says it is common to add tiers to an ICP. In Enrich.chat each tier is a search, and you can run up to five.

### Is a match tier the same as a lead score?

No. A match tier says which of your searches a person matched first, and the score is a fixed step for that tier: 100, 75, 50, 25 or 10. It is not a model and uses no intent or engagement data. To add behavior, keep an engagement score in your CRM, as [HubSpot](https://knowledge.hubspot.com/scoring/understand-the-lead-scoring-tool) does with its fit and engagement labels. The [lead scoring model guide](https://enrich.chat/blog/lead-scoring-model/) shows how.

### How much does a match tiers search cost?

A tier run is billed like a search. On the free tier it uses one of your 10 free lookups a day, however many people it returns. On a plan it uses 5 credits for each person shown, so 25 people use 125 credits. Counts with count_only use 0 credits, and so does a run that finds nobody. A work email costs 10 credits if found. See [pricing](https://enrich.chat/pricing/).

### How many tiers can I use, and how many people come back?

You can use up to five tiers, strictest first. The limit field sets how many people come back in total across all tiers, from 1 to 100, with 25 as the default. The dashboard offers 25, 50 or 100. Results fill tier by tier, so tier 1 comes first and later tiers only add people who did not match an earlier tier.

### Can a person appear in more than one tier?

No. Each person comes back once, labelled with the first tier that matched. Someone who fits tiers 1, 2 and 3 shows as tier 1 with score 100. The free counts work differently: they are per tier and overlap, so a person is counted in every tier they match. If you add the counts up you will overshoot the real list size.

### Can I run match tiers from an AI agent?

Yes, if the agent can send a web request. Paste a prompt that starts with "Use www.enrich.chat" and the agent reads agents.md, which describes POST /v1/search/cascade. It can then count each tier, run the tiers and report each person's tier and score. Setup for AI apps is on the [install page](https://enrich.chat/install/).

## Sources

1. [How to Choose the Right Accounts for ABM](https://blog.hubspot.com/sales/how-to-choose-target-accounts-account-based-marketing)
2. [Overview of the lead scoring tool](https://knowledge.hubspot.com/scoring/understand-the-lead-scoring-tool)
3. [Lead Scoring and Grading in Account Engagement: get started with lead grading](https://trailhead.salesforce.com/content/learn/modules/lead-scoring-and-grading-in-account-engagement/get-started-with-lead-grading)
4. [ABM account tiers](https://demandscience.com/resources/blog/abm-account-tiers/)
5. [Enrich.chat agent instructions](https://enrich.chat/agents.md)
6. [Enrich.chat OpenAPI spec: search with match tiers](https://enrich.chat/openapi.json)

## Examples

**Count**

```text
# 1. Count each tier first. Free, and no key is needed.
curl -X POST "https://enrich.chat/v1/search/cascade" \
  -H "content-type: application/json" \
  -d '{"count_only": true, "tiers": [
    {"name": "Exact",
     "title_exact": "VP of Operations",
     "industry": "Logistics and Supply Chain",
     "country": "United States"},
    {"name": "Wider titles",
     "title_any": ["operations", "supply chain"],
     "level": ["vp", "director"],
     "industry": "Logistics and Supply Chain",
     "country": "United States"},
    {"name": "Wider industry",
     "title_any": ["operations", "supply chain"],
     "level": ["vp", "director"],
     "industry": ["Logistics and Supply Chain",
                  "Freight and Package Transportation"],
     "country": "United States"}
  ]}'

# Example response. Counts are made up and cost 0 credits.
# Each tier also carries interpreted_as, trimmed here.
{
  "tiers": [
    {"tier": 1, "name": "Exact", "count": 38},
    {"tier": 2, "name": "Wider titles", "count": 412},
    {"tier": 3, "name": "Wider industry", "count": 1096}
  ],
  "note": "Counts are per tier and overlap: a person can match several tiers.",
  "credits_used": 0,
  "free_lookups_remaining": 10
}
```

**Run**

```text
# 2. Run the same tiers. Strictest first, nobody twice, up to your limit.
curl -X POST "https://enrich.chat/v1/search/cascade" \
  -H "content-type: application/json" \
  -d '{"limit": 4, "tiers": [
    {"name": "Exact",
     "title_exact": "VP of Operations",
     "industry": "Logistics and Supply Chain",
     "country": "United States"},
    {"name": "Wider titles",
     "title_any": ["operations", "supply chain"],
     "level": ["vp", "director"],
     "industry": "Logistics and Supply Chain",
     "country": "United States"},
    {"name": "Wider industry",
     "title_any": ["operations", "supply chain"],
     "level": ["vp", "director"],
     "industry": ["Logistics and Supply Chain",
                  "Freight and Package Transportation"],
     "country": "United States"}
  ]}'

# Each person comes back with tier, tier_name, score and matched.
# A tier search is billed like a search: one free lookup, or
# 5 credits for each person shown on a plan.
```

**JSON**

```json
# Illustrative: people and companies are made up. Some fields are trimmed.
# On the free tier the call uses one lookup, so free_lookups_remaining drops to 9.
{
  "found": true,
  "count": 4,
  "people": [
    {
      "id": "per_3Qw8ZtKm4VbN7LrE",
      "name": "Marisol Vega",
      "title": "VP of Operations",
      "company": "Harborline Logistics",
      "level": "vp",
      "has_email": true,
      "tier": 1,
      "tier_name": "Exact",
      "score": 100,
      "matched": {
        "title_exact": ["vp of operations"],
        "industry": ["Logistics and Supply Chain"],
        "country": ["United States"]
      }
    },
    {
      "id": "per_8Hd2xNc5PwLq4TyA",
      "name": "Owen Fletcher",
      "title": "Head of Supply Chain",
      "company": "Pinecrest Logistics",
      "level": "director",
      "has_email": true,
      "tier": 2,
      "tier_name": "Wider titles",
      "score": 75,
      "matched": {
        "title_any": ["operations", "supply chain"],
        "level": ["vp", "director"],
        "industry": ["Logistics and Supply Chain"],
        "country": ["United States"]
      }
    },
    {
      "id": "per_5Zk9vMb3RtQw7DfG",
      "name": "Priya Shah",
      "title": "Operations Director",
      "company": "Northgate Logistics",
      "level": "director",
      "has_email": true,
      "tier": 2,
      "tier_name": "Wider titles",
      "score": 75,
      "matched": {
        "title_any": ["operations", "supply chain"],
        "level": ["vp", "director"],
        "industry": ["Logistics and Supply Chain"],
        "country": ["United States"]
      }
    },
    {
      "id": "per_2Lp6cYw8NsHx1KaT",
      "name": "Tomas Brandt",
      "title": "VP of Operations",
      "company": "Kestrel Freight",
      "level": "vp",
      "has_email": false,
      "tier": 3,
      "tier_name": "Wider industry",
      "score": 50,
      "matched": {
        "title_any": ["operations", "supply chain"],
        "level": ["vp", "director"],
        "industry": ["Logistics and Supply Chain", "Freight and Package Transportation"],
        "country": ["United States"]
      }
    }
  ],
  "tiers": [
    {"tier": 1, "name": "Exact", "returned": 1},
    {"tier": 2, "name": "Wider titles", "returned": 2},
    {"tier": 3, "name": "Wider industry", "returned": 1}
  ],
  "credits_used": 20,
  "free_lookups_remaining": 9
}
```

## Prices

| What you get | Credits |
| --- | --- |
| Work email found | 10 |
| Mobile number found | 250 |
| Company tech stack or profile found | 5 |

10 free lookups a day for every IP address, no signup. Nothing is charged when nothing is found. Monthly plans start at $29 for 100,000 credits.

## Try this prompt

Run match tiers from your agent

```text
Use www.enrich.chat to run match tiers for US logistics companies. Tier 1: VPs of Operations. Tier 2: VPs and directors of operations or supply chain. Tier 3: the same titles in freight too. Count each tier first, then list 10 people with their tier and score, and tell me the credits used
```

## Related

- [People search](https://enrich.chat/features/people-search/)
- [AI lead search](https://enrich.chat/features/ai-lead-search/)
- [Account-based marketing lists](https://enrich.chat/use-cases/abm-lead-lists/)
