# Crustdata Person Search

> Crustdata Person Search is a paid API for AI agents from crustdata.withzero.xyz, paid per call via MPP, $0.003/result, status unknown (last checked 2026-09-14).

Search and filter the cached Crustdata person dataset to find people and prospects using provider-native filters, fields, sorts, and aggregations

## Facts

- Endpoint: POST https://crustdata.withzero.xyz/api/v1/person/search
- Price: $0.003/result
- Payment: MPP
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Provider: crustdata.withzero.xyz
- Website: https://crustdata.withzero.xyz
- Canonical page: https://www.zero.xyz/c/crustdata-withzero-xyz-crustdata-person-search-03138f11
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_aqFyy-ePRlCpeME-spZvB

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-person-search-03138f11 -d '<json body>'
```

Example prompt: Search Crustdata for up to 25 people at US-headquartered companies, returning their company name, HQ country, and LinkedIn profile URL — filter by hq_country = USA and sort by employee count descending.

## When to prefer this

Use this endpoint when you need to search across the full cached Crustdata person dataset with complex filter logic, multi-field selection, sorting, or aggregations. Prefer this over live professional-network search routes when freshness is not critical and cost efficiency matters. Use when building prospect lists, filtering by company attributes, or paginating through large result sets.

## Known failure modes

- Invalid filter syntax returns upstream Crustdata error with $0 settlement
- Limit exceeds 1000 results in validation error
- Invalid cursor string causes pagination failure
- Unsupported field name causes provider-native error
- Network timeout to Crustdata upstream returns error with $0 settlement
- Empty result set returns data array with zero profiles and minimum settlement charge

## How this service works

Core workflow route: find a page of people and prospects from the cached Crustdata person dataset using provider-native filters, fields, sorts, cursor, aggregations, and limit. Default pricing is $0.10 per Crustdata credit with a $0.01 minimum successful-call settlement. Upstream Crustdata errors settle $0. PersonDB search is priced at 0.03 Crustdata credits per returned profile.

## Output

Returns a raw Crustdata JSON response containing matching person profiles with requested fields, plus a billing object showing API credits used, USDC micro-units settled, and the per-credit price and minimum settlement amounts. Includes a cursor for fetching subsequent pages.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "example": {
  "limit": 10,
  "fields": [
   "basic_profile.name",
   "basic_profile.current_title",
   "social_handles.professional_network_identifier.profile_url",
   "experience.employment_details.current.name"
  ],
  "filters": {
   "op": "and",
   "conditions": [
    {
     "type": "=",
     "field": "experience.employment_details.current.company_website_domain",
     "value": "browserbase.com"
    }
   ]
  }
 },
 "properties": {
  "limit": {
   "type": "integer",
   "example": 10,
   "maximum": 100,
   "minimum": 1,
   "description": "Maximum records to return. Max 100."
  },
  "sorts": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "field",
     "order"
    ],
    "properties": {
     "field": {
      "type": "string",
      "example": "headcount.total",
      "minLength": 1,
      "description": "Provider-native field path. The live 2025-11-01 API expects field even though some Crustdata examples use column."
     },
     "order": {
      "enum": [
       "asc",
       "desc"
      ],
      "type": "string",
      "example": "desc",
      "description": "Sort direction."
     }
    },
    "additionalProperties": {}
   },
   "example": [
    {
     "field": "headcount.total",
     "order": "desc"
    }
   ],
   "description": "Crustdata sort descriptors using the live API field/order contract."
  },
  "cursor": {
   "type": "string",
   "example": "eyJwYWdlIjoyfQ",
   "minLength": 1,
   "description": "Cursor returned by the previous page."
  },
  "fields": {
   "type": "array",
   "items": {
    "type": "string",
    "minLength": 1
   },
   "example": [
    "basic_info.name",
    "basic_info.primary_domain",
    "headcount.total"
   ],
   "description": "Response field sections or dot-paths to include."
  },
  "filters": {
   "example": {
    "op": "and",
    "conditions": [
     {
      "type": "=",
      "field": "basic_info.primary_domain",
      "value": "browserbase.com"
     }
    ]
   },
   "description": "Crustdata provider-native filter condition or condition group."
  },
  "preview": {
   "type": "boolean",
   "example": false,
   "description": "Return preview metadata when supported by the endpoint."
  },
  "aggregations": {
   "example": {
    "field": "taxonomy.professional_network_industry"
   },
   "description": "Provider-native aggregation request for endpoints that support it."
  }
 },
 "additionalProperties": {}
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "data"
 ],
 "properties": {
  "data": {
   "description": "Raw JSON response returned by Crustdata."
  },
  "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 charged per Crustdata API credit."
    }
   },
   "additionalProperties": false
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/crustdata-withzero-xyz-crustdata-person-search-03138f11/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)
