tools/list to discover the schemas advertised by the
server you are connected to. These tools return the same business data as the HTTP API.
search_companies
Find distinct companies with relevant evidence. Supports natural-language query planning, exact filters, and optional background processing.params object inside a JSON-RPC tools/call request, not complete
HTTP requests. Read usage.id from a pending result and call get_usage to retrieve it.
Completed results contain companies, supporting observations, coverage, and next_cursor.
Supported filters
Values within a field are OR; different fields are AND. Exclusions win. Empty arrays do not restrict.
Domain matching normalizes case, whitespace, and a trailing dot; it does not remove
www or merge
subdomains. Only currently evidenced domain relationships match.
get_company
id is a required positive integer returned by search. Returns company with identity, supported
domains, and up to three recent observations. This is an unmetered, subscription-authorized read,
not a full profile or a fresh lookup. company_not_found means no deliverable company was found.
search_observations
query, filters, limit, cursor, and request_key with the same basic types as company
search. Filters support countries, kinds, demand classes, and the two timestamp fields only.
Company lists, domain lists, and background are not accepted here. This search does not use
company-search query planning. Returns individual observations rather than grouped companies.
get_observation
id is a required integer from a returned observation. Returns observation and its currently
permitted evidence. Unmetered, but requires subscription access. Does not start new research.
create_usage
search_observations. Returns an operation
to poll with get_usage. For background company results, use search_companies with
background: true instead.
get_usage
id is an integer. With an ID, returns the account-owned operation’s status or results;
without it, returns subscription usage and limits. Neither read is metered. An ID from another
account returns usage_not_found.
diagnostic
Idempotency-Key header; there is no request_key argument. Returns subscription
plan/status and metering information. It consumes one request unit for a new successful operation.
Prefer unmetered tools/list to check connectivity or get_usage to check allowance.
Handle responses safely
- Read
result.structuredContent. Text-only clients can parse the equivalent JSON inresult.content. - Check
result.isErrorandstructuredContent.error.code; HTTP success alone is not tool success. - Reuse a request key only for identical retries. A next page uses a new key with unchanged query, filters, and limit, plus the returned cursor.
- Stop on subscription or capacity errors. Inspect the structured retry guidance when supplied.
- Do not describe partial or empty coverage as proof that no prospect exists.