# Crustdata Company Enrich

> Crustdata Company Enrich is a paid API for AI agents from crustdata.withzero.xyz, paid per call via MPP, $0.2/call, not verified (last probed 2026-10-12); live alternatives: Bytemine Company Enrichment ($0.01) and PDL Company Enrich ($0.02).

Agents call it through Zero, which pays per call: no API key and no wallet of your own. New accounts start with $5.

Live alternatives for the same use case:
- [Bytemine Company Enrichment](https://www.zero.xyz/c/agents-bytemine-ai-bytemine-company-enrichment-8c13b08a) ($0.01)
- [PDL Company Enrich](https://www.zero.xyz/c/pdl-company-enrich-c66ef73a) ($0.02)

Hydrates company accounts with detailed Crustdata company profiles given domains, names, LinkedIn URLs, or Crustdata IDs

## Facts

- Endpoint: POST https://crustdata.withzero.xyz/api/v1/company/enrich?utm_source=zero.xyz
- Price: $0.2/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-12
- Last successful call: 2026-07-23
- Success rate: 91% of calls made through Zero
- Rating: 4.3 / 5 from 3 reviews
- Activations on Zero: 15
- Provider: crustdata.withzero.xyz
- Website: https://crustdata.withzero.xyz
- Canonical page: https://www.zero.xyz/c/crustdata-withzero-xyz-crustdata-company-enrich-49e3f6a8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_p6K-qxvve8RxoF-cH4c2L

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability crustdata-withzero-xyz-crustdata-company-enrich-49e3f6a8 -d '<json body>'
```

Example prompt: Can you pull detailed Crustdata company profiles for openai.com and anthropic.com — I need company name, HQ country, and latest employee count?

## When to prefer this

Use this endpoint after identifying or searching for target accounts (via company search or identify routes) when you need to hydrate those accounts with full firmographic detail from Crustdata. Prefer this over repeated identify calls when you already have domains, LinkedIn URLs, or Crustdata IDs and need structured profile fields like employee metrics, HQ country, or other Crustdata-native data points.

## Known failure modes

- Upstream Crustdata error returns $0 settlement and error details in data field
- No match found for provided domain or name returns empty data array
- Invalid field path in fields array causes partial or failed enrichment
- Exceeding 25 identifiers per request returns validation error
- Malformed domain or LinkedIn URL may return no match

## How this service works

Core workflow route: hydrate up to 25 selected accounts per call with company headcount, industry, taxonomy, people, and other detailed firmographics after identify or search. For large lists, chunk identifiers into groups of 25 so each group uses one payment instead of one payment per company. Defaults to basic_info only to prevent unexpectedly large headcount-history and people payloads; request other documented sections explicitly. Default pricing is $0.10 per Crustdata credit with a $0.01 minimum successful-call settlement. Upstream Crustdata errors settle $0. DB company enrich costs two Crustdata credits per identifier, plus two credits for each returned technographics section.

## Output

Returns the raw Crustdata JSON company profile(s) for each matched identifier, including any requested fields (e.g. company_name, hq_country, employee_metrics.latest_count), plus a billing object showing Crustdata credits consumed and USDC micro-units settled.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "example": {
  "fields": [
   "basic_info"
  ],
  "domains": [
   "browserbase.com"
  ],
  "exact_match": true
 },
 "required": [
  "fields"
 ],
 "properties": {
  "names": {
   "type": "array",
   "items": {
    "type": "string",
    "minLength": 1
   },
   "example": [
    "OpenAI"
   ],
   "maxItems": 25,
   "minItems": 1,
   "description": "Company names to identify or enrich."
  },
  "fields": {
   "type": "array",
   "items": {
    "enum": [
     "basic_info",
     "headcount",
     "funding",
     "locations",
     "taxonomy",
     "revenue",
     "hiring",
     "followers",
     "seo",
     "competitors",
     "social_profiles",
     "web_traffic",
     "employee_reviews",
     "people",
     "news",
     "software_reviews",
     "public_launches",
     "market_intel",
     "technographics",
     "reviews"
    ],
    "type": "string"
   },
   "default": [
    "basic_info"
   ],
   "example": [
    "basic_info"
   ],
   "description": "Documented company enrich sections to include. Defaults to basic_info only to keep payloads lean; request headcount, taxonomy, people, or other sections explicitly."
  },
  "domains": {
   "type": "array",
   "items": {
    "type": "string",
    "minLength": 1
   },
   "example": [
    "openai.com"
   ],
   "maxItems": 25,
   "minItems": 1,
   "description": "Website domains to identify or enrich."
  },
  "exact_match": {
   "type": "boolean",
   "example": true,
   "description": "Restrict matching to exact domain/name behavior when supported by Crustdata. Recommended for domain-sensitive account lookups."
  },
  "crustdata_company_ids": {
   "type": "array",
   "items": {
    "type": "integer",
    "maximum": 9007199254740991,
    "exclusiveMinimum": 0
   },
   "example": [
    12345
   ],
   "maxItems": 25,
   "minItems": 1,
   "description": "Crustdata company IDs."
  },
  "professional_network_profile_urls": {
   "type": "array",
   "items": {
    "type": "string",
    "minLength": 1
   },
   "example": [
    "https://www.linkedin.com/company/openai"
   ],
   "maxItems": 25,
   "minItems": 1,
   "description": "Company professional-network profile URLs."
  }
 },
 "additionalProperties": false
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "data",
  "people"
 ],
 "properties": {
  "data": {
   "description": "Raw JSON response returned by Crustdata."
  },
  "people": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "inputIndex",
     "matchIndex",
     "people"
    ],
    "properties": {
     "people": {
      "description": "Raw Crustdata company_data.people object, commonly including decision_makers, founders, and cxos."
     },
     "matchType": {
      "type": "string",
      "description": "Provider-reported match type, when returned by Crustdata."
     },
     "matchedOn": {
      "type": "string",
      "description": "Provider-reported match key, when returned by Crustdata."
     },
     "inputIndex": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Index of the requested company identifier in the raw Crustdata response."
     },
     "matchIndex": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Index of the matched company within the raw Crustdata matches array."
     },
     "companyName": {
      "type": "string",
      "description": "Matched company name from basic_info, when present."
     },
     "companyDomain": {
      "type": "string",
      "description": "Matched company primary domain from basic_info, when present."
     }
    },
    "additionalProperties": false
   },
   "description": "Convenience extraction of nested company_data.people blocks from each Crustdata match so callers can find decision_makers/founders/cxos without traversing the raw payload."
  },
  "billing": {
   "type": "object",
   "required": [
    "apiCredits",
    "minimumCallUsdcMicro",
    "pricePerCreditUsdcMicro",
    "settledUsdcMicro"
   ],
   "properties": {
    "apiCredits": {
     "type": "number",
     "example": 0.06,
     "description": "Estimated Crustdata API credits charged for this request."
    },
    "settledUsdcMicro": {
     "type": "string",
     "example": "10000",
     "description": "USDC micro-units settled for this request."
    },
    "minimumCallUsdcMicro": {
     "type": "string",
     "example": "10000",
     "description": "Configured minimum successful-call settlement in USDC micro-units."
    },
    "pricePerCreditUsdcMicro": {
     "type": "string",
     "example": "100000",
     "description": "Configured USDC micro-units charge
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/crustdata-withzero-xyz-crustdata-company-enrich-49e3f6a8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from crustdata.withzero.xyz](https://www.zero.xyz/host/crustdata.withzero.xyz/llms.txt)
