abm.dev
The account-based marketing API for AI agents: Search, Enrich, and Create across B2B people and companies.
Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data
What it can do
- Create Enrichment: Start an async enrichment of a person or company (type + input). Returns immediately with a job_id; the job runs ~30-60s without blocking — poll get_enrichment for status and get_en
- Get Enrichment: Poll an enrichment job by its sequential id for current status (queued, processing, completed, failed, approved). Returns status ONLY — when status is completed, fetch the enriched VAL
- List Enrichments: List enrichment jobs for the current org, newest first. Filter by status (queued, processing, completed, failed, approved) and page with skip/take (default take 50). Each row is a jo
What data it sees
Do you need an account
No: the server works without sign-in
The account-based marketing API for AI agents: Search, Enrich, and Create across B2B people and companies. Every field cited with a source and confidence score. One key, ten sources, no per-field bills.
Server tool list (13)
Raw names from tools/list. Only developers need these.
| create_enrichment | Start an async enrichment of a person or company (type + input). Returns immediately with a job_id; the job runs ~30-60s without blocking — poll get_enrichment for status and get_enrichment_fields / get_enrichment_sources for results. Optionally pass a progressToken in _meta to stream live progress. Sources: LinkedIn, Hunter, Perplexity, Tavily. |
| get_enrichment | Poll an enrichment job by its sequential id for current status (queued, processing, completed, failed, approved). Returns status ONLY — when status is completed, fetch the enriched VALUES with get_enrichment_fields (value, confidence, winning source) and the per-source breakdown with get_enrichment_sources. On failed, check get_enrichment_sources for the per-source error. |
| list_enrichments | List enrichment jobs for the current org, newest first. Filter by status (queued, processing, completed, failed, approved) and page with skip/take (default take 50). Each row is a job summary (id, status, entity_type); fetch full results with get_enrichment then get_enrichment_fields. |
| cancel_enrichment | Cancel an in-flight enrichment job by id. Only queued/processing jobs are stopped; on a completed, failed, or cancelled job it is a harmless no-op. Returns the resulting status. |
| get_enrichment_sources | Get per-source attribution results for an enrichment (which data came from LinkedIn vs Hunter vs Perplexity etc.) |
| get_enrichment_fields | Return the ENRICHED RESULT VALUES for a completed enrichment job: each field with its value, confidence, and the winning source. Call this after get_enrichment reports completed (get_enrichment returns status only, not the values). |
| get_me | Get the calling user identity: Clerk user id, email, name, org membership, roles. |
| get_org | Get the current organisation: id, name, slug, subscription tier, member limits. |
| get_linkedin_status | Get the org's LinkedIn connection status: connected/expired/disconnected, profile name + URL, last verified, cookie expiry. |
| get_linkedin_usage | Get the org's LinkedIn usage metrics: profile views today, recent activity, quota state. |
| list_entities | List + search canonical entities (deduplicated people / companies) in this org. Each row carries identifiers (dedup_key, display_name), entity type, and first/last-seen timestamps. Use search to look someone up by name or identifier. |
| get_entity | Get a single canonical entity by its numeric entity id (from list_entities, NOT a job id): display name, type, identifiers (email, linkedin_url, domain), most recent enrichment summary, merged source data. |
| list_entity_enrichments | List every enrichment run that touched a canonical entity (by entity id from list_entities/get_entity), newest first. Each row is a job summary; fetch full results with get_enrichment then get_enrichment_fields. |