> For the complete documentation index, see [llms.txt](https://developer.parvenu.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.parvenu.io/icp-enrichment/multi-icp-score.md).

# Multi-ICP Score

Check one contact against 2 to 10 of your ICPs and get the best fit, or No match.

<mark style="color:green;">`POST`</mark> `/multi_icp_score`

{% hint style="info" %}
Billed **0.2 credits per contact**, however many ICPs you pick. A contact outside an ICP's location still counts. Nothing is charged if scoring fails, or if the contact has no title and no company.
{% endhint %}

Checks one contact against several of your saved ICPs at once. Each ICP is judged with its own rules and minimum score. You get the best-fit ICP, or `"No match"` when the contact fits none, plus every ICP's score.

To score a whole list, use [Multi-ICP Score (List)](/icp-enrichment/multi-icp-score-list.md). To score against one ICP, use [Run Enrichment](/icp-enrichment/run-enrichment.md).

**How a match is decided.** Each ICP has must-haves, for example the type of company and the job title, and nice-to-haves. A contact that clearly misses a must-have, or has too little information to check one, does not match that ICP, whatever its score. Job titles need a clear fit: a vague title such as "Manager" passes only when the company clearly fits. An unknown company size neither helps nor hurts the score.

**Headers**

| Name         | Value              |
| ------------ | ------------------ |
| Content-Type | `application/json` |

**Body**

| Name      | Type   | Description                                                                                                                                                                      |
| --------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key` | string | Your API Key.                                                                                                                                                                    |
| `icp_ids` | array  | 2 to 10 ICP ids you own, from [List ICPs](/icp-enrichment/list-icps.md).                                                                                                         |
| `contact` | object | The contact. Any of `name`, `title`, `organization`, `website`, `company_description`, `keywords`, `city`, `state`, `country`, `email`, `linkedin`. Company details matter most. |

**Response**

| Field inside `data`   | Type    | Description                                                                                                                                                                                                   |
| --------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `icp_name`            | string  | The best-fit ICP, or `No match`.                                                                                                                                                                              |
| `icp_id`              | number  | The best-fit ICP's id. `null` when there is no match.                                                                                                                                                         |
| `icp_is_match`        | boolean | Whether the contact fits at least one ICP.                                                                                                                                                                    |
| `icp_match_score`     | number  | The best-fit (or closest) ICP's score, 0 to 100.                                                                                                                                                              |
| `icp_match_threshold` | number  | That ICP's minimum score, 0 to 100.                                                                                                                                                                           |
| `icp_explanation`     | string  | Several lines: the result, why it is not a match (when a must-have stopped it), every ICP's score, then one line per check for the best fit with its result, its share of the score and the points it earned. |
| `icp_scores`          | array   | Every ICP: `icp_id`, `icp_name`, `icp_match_score`, `icp_match_threshold`, `icp_is_match`.                                                                                                                    |

See [Response Format](/getting-started/response-format.md) for the fields every endpoint returns.

**Example**

{% tabs %}
{% tab title="Input" %}

```json
{
  "api_key": "your_api_key",
  "icp_ids": [32, 50],
  "contact": {
    "name": "Jordan Lee",
    "title": "Owner",
    "organization": "Summit Roofing LLC",
    "company_description": "Residential and commercial roofing contractor",
    "state": "Ohio",
    "country": "United States"
  }
}
```

{% endtab %}

{% tab title="Output" %}

```json
{
  "status": "success",
  "data": {
    "icp_name": "Roofing",
    "icp_id": 32,
    "icp_is_match": true,
    "icp_match_score": 90.4,
    "icp_match_threshold": 70.0,
    "icp_explanation": "MATCH: Roofing 90.4% (threshold 70%)\nAll ICPs: Roofing 90.4% match; HVAC 0% no match\nWhy Roofing:\n- Location · Passes: 'Ohio, United States' is in allowed countries [United States, Canada]\n- Company type · Meets · 94% · worth 50% of the score · scored 47 of 50: Yes, clearly: company is a residential roofing contractor (judged from company description, company name)\n- Company size · Unknown · not scored\n- Job title · Meets · 99% · worth 37.5% of the score · scored 37.1 of 37.5: title 'Owner' matches one of the ICP's titles\n- Nice to have · Unknown · 50% · worth 12.5% of the score · scored 6.2 of 12.5",
    "icp_scores": [
      { "icp_id": 50, "icp_name": "HVAC", "icp_match_score": 0.0, "icp_match_threshold": 70.0, "icp_is_match": false },
      { "icp_id": 32, "icp_name": "Roofing", "icp_match_score": 90.4, "icp_match_threshold": 70.0, "icp_is_match": true }
    ]
  },
  "credits_used": 0.2,
  "credits_remaining": 9587.8,
  "success": true
}
```

{% endtab %}
{% endtabs %}
