Skip to main content
View source

Crustdata

View as Markdown

A RocketRide tool node that gives an AI agent B2B company and people search powered by Crustdata's discovery API.

Experimental: this node is marked experimental and may change. The endpoints and request/response schema here are read directly from Crustdata's versioned API reference (x-api-version: 2025-11-01), but no live account has exercised it end-to-end — see #2129.

What it does

When an agent calls company_search or person_search, the node runs a filter-based search against Crustdata's POST /company/search or POST /person/search REST API and hands back structured records: firmographics, funding, headcount, and hiring signals for companies; title, work history, education, and verified contact info for people.

Filters are a list of {field, type, value} conditions (e.g. {"field": "basic_info.primary_domain", "type": "=", "value": "acme.com"}) — the node wraps them into Crustdata's {"op": <match>, "conditions": [...]} group form before sending, so callers just supply a flat list plus an optional match ("and"/"or", default "and"). Company search's op enum only has those two values; person search's third value, all_of, is a specialized nested-array operator (all conditions on one employment or education path, matched across possibly-different array elements) rather than a generic combinator, and isn't exposed here. This is a search/discovery tool (find records matching criteria), not a single-entity enrichment lookup by domain or email.

Pagination is cursor-based, per Crustdata's API: a response's next_cursor is passed back as cursor on the next call. Crustdata's docs note that changing filters or sorts between pages invalidates the cursor, so pass an explicit sorts when paginating to keep ordering stable.

Implemented with the requests library, no Crustdata SDK is used. Requests time out after 30 seconds and are retried up to 3 times with exponential backoff (2 s base delay) on rate limits (HTTP 429), server errors (5xx), and timeouts. Failures are returned to the agent as a structured {"success": false, "error": ...} result rather than raised.

The node has no pipeline lanes (lanes is {}). Only agent runtimes reach it, through the invoke capability.


Configuration

FieldTypeDescription
apikeystringDefault empty. Crustdata API key (from https://crustdata.com)
defaultLimitintegerDefault 10. Default maximum number of results per search (1-1000)

The config values act as defaults; the agent can override limit per call.


Available tools

Search Crustdata's company index by filter criteria (industry, region, headcount, funding, current company, and more). filters is the only required parameter.

Search Crustdata's people index by filter criteria (current company, current title, region, and more). filters is the only required parameter.

ToolDescription
company_searchSearch Crustdata for companies matching one or more filters. Returns structured company records: firmographics, funding history, headcount, and hiring signals. Use this to find prospects or research accounts by criteria, not to look up one already-known company by name.
person_searchSearch Crustdata for people matching one or more filters. Returns structured profiles: name, title, work history, education, and verified contact info where available. Use this to find or enrich people by criteria.

Both accept filters (required, a list of {field, type, value} conditions), plus optional match (how conditions combine), sorts, limit, and cursor. Both return an object with success, filters (echoed back), count, results (array of raw Crustdata records — exact per-record fields aren't remapped), next_cursor and total_count (from Crustdata's response, when present), and error on failure.


Authentication

Drop your Crustdata API key into the API Key config field. The field is encrypted at rest and masked in the UI. Alternatively, set the CRUSTDATA_API_KEY environment variable on the engine host — the config field takes precedence when both are set. The key is sent to Crustdata as Authorization: Bearer <key>, alongside a required x-api-version: 2025-11-01 header on every request.

Crustdata's documentation indicates real-time, live web-derived enrichment is an enterprise/plan-gated feature separate from cached-database search results — which tier a given API key unlocks isn't confirmed here (see #2129).


Schema

FieldTypeDescriptionDefault
tool_crustdata.apikeystringAPI Key
Crustdata API key (from https://crustdata.com)
""
tool_crustdata.defaultLimitintegerDefault Result Limit
Default maximum number of results per search (1-1000)
10

Dependencies

  • requests