DOCS

API Docs

REST API for contacts, enrichment, signals, and company data. JSON responses, OAuth 2.0 authentication.

Authentication

All API requests require a Bearer token in the Authorization header. Generate API keys from Settings → API Keys. Keys are scoped: read-only keys can query data; read-write keys can trigger enrichment and create CRM records. Rotate keys from the same settings page — old keys are immediately invalidated on rotation.

Rate limits

Rate limits vary by plan. Growth: 1,000 requests/minute. Business: 5,000 requests/minute. Enterprise: custom. Rate limit headers are returned on every response: X-RateLimit-Limit (max requests), X-RateLimit-Remaining (requests left in window), X-RateLimit-Reset (Unix timestamp when window resets). Exceeded limits return HTTP 429.

Contacts endpoint

GET /v1/contacts — search contacts with query parameters: q (text search), company_domain, job_title, seniority, location, industry. Returns paginated results (default 25, max 100 per page). POST /v1/contacts/enrich — enrich a single contact record. Required: email or (first_name + last_name + company_domain). Returns enriched contact object.

Companies endpoint

GET /v1/companies — search companies by name, domain, industry, size, location, tech_stack, or funding_stage. GET /v1/companies/{domain} — retrieve a single company by domain. Returns firmographics, technographics, funding history, and a list of associated contacts (if included in your plan). POST /v1/companies/enrich — enrich a company record by domain.

Signals endpoint

GET /v1/signals — retrieve signal events. Filter by type (funding, hiring, tech_change, leadership, mention, social), company_domain, date range, and ICP filters. Events are returned in reverse chronological order. Each event includes: signal_type, company, timestamp, source, confidence_score, and raw_data object with signal-specific fields.

Errors and pagination

Errors return standard HTTP status codes with a JSON body containing code (machine-readable string), message (human-readable description), and optionally details (array of field-specific issues). Pagination uses cursor-based navigation: include the next_cursor value from a response as the cursor parameter in your next request.

Previous
Integrations

Stop chasing.
Start sourcing.

14-day free trial. No credit card. Set it up in under five minutes.