ICP Fit Scorer

live$0.05/resultScoring and Intelligence

Scores pre-enriched companies against your Ideal Customer Profile using weighted signals. Returns a 0 to 100 fit score, A to D tier, and per-signal breakdown. Deterministic and LLM modes. Built for Clay enrichment and batch processing. MCP-ready for Claude Desktop and AI agents.

Use Cases

  • Lead prioritization. Score every company in your pipeline from 0-100 against your custom ICP criteria, then route A-tier leads to sales and B/C-tier to nurture.
  • Clay enrichment column. Add icp_score, icp_tier, and a full signal breakdown as flat columns in your Clay table.

Features

  • icp_score 0 to 100 and an A to D tier
  • lead_tag: priority, nurture or disqualify
  • Per-source score breakdown, 8 categories
  • 23 flat fields, snake_case, one row per company
  • Plain-English mode builds the config for you

Input

company_domainstringrequired

Identity for the row.

company_namestringoptional

Identity for the row, used in the output and for attribution.

scoring_configobjectoptional

Exact weights per signal. Must sum to 100.

templatestringoptional

One of six presets instead of writing a config.

icp_descriptionstringoptional

Plain-English mode. llm_provider defaults to openai.

llm_api_keystringoptional

Your own model key, required only for plain-English mode.

tier_thresholdsobjectoptional

A, B and C cutoffs.

funded_within_daysintegeroptional

The funding recency window.

fetch_signalsbooleanoptional

Let the actor pull signals itself instead of you supplying them. When off, you supply the signal fields; all are optional and anything absent lands in signals_missing. Default: false.

apify_tokenstringoptional

Your Apify token, required only when fetch_signals is on.

include_explanationbooleanoptional

Return score_explanation. Default: false.

min_score_to_outputintegeroptional

Suppress rows below this score.

previous_scoreintegeroptional

Unlocks delta tracking.

dataset_idstringoptional

Batch input source. An existing Apify dataset to score.

csv_urlstringoptional

Batch input source. A CSV of companies to score.

webhook_urlstringoptional

Post results onward.

Output schema

json
{
  "company_domain": "example.com",
  "company_name": "Example Inc",
  "icp_score": 78,
  "icp_tier": "B",
  "lead_tag": "nurture",
  "score_hiring": 20,
  "score_tech_stack": 18,
  "score_headcount": 15,
  "score_firmographic": 10,
  "score_industry": 10,
  "score_funding": 5,
  "score_social": 0,
  "score_job_board": 0,
  "signals_matched": ["gtm_hiring_signal", "crm_detected", "headcount_in_range"],
  "signals_missing": ["total_followers", "job_count"],
  "config_source": "template:saas_outbound",
  "previous_score": 55,
  "score_delta": 23,
  "score_direction": "up",
  "run_date": "2026-06-18T16:20:26.776Z",
  "error": null
}

Pricing

$0.05per result

Pay-per-event billing on the Apify platform. You are charged only when the actor returns a result. No subscription, no seat license.

Free-tier Apify accounts include monthly free compute. Upgrade for higher concurrency and volume.

Available on