REST for your application
Your backend chooses the endpoint, sends a JSON request and decides what to do with the response. A practical fit for product features, CRM automation and internal tools.
Read the API referenceBuild with TargetWise
Find work emails, retrieve business phones and enrich company records through one API. Use the same operations as MCP tools when your workflow runs through an AI agent.
Eleven endpoints, input schemas and response handling.
Explore rest apiConnect your AI host and discover TargetWise tools.
Explore MCPCreate a key and send your first enrichment request.
Explore quickstartApply enrichment to CRM, inbound and agent workflows.
Explore integration recipesRead a HubSpot contact, request missing work email or business phone fields, review the result and apply a safe update through the Contacts API.
Explore hubspot guideBuild a Salesforce contact enrichment workflow with TargetWise: field mapping, a dry-run example, record-change checks and controlled API updates.
Explore salesforce guideConfigure the n8n HTTP Request node, send one TargetWise lookup and branch on matched, partial, missing and error responses before updating your CRM.
Explore n8n guideConfigure bearer authentication for TargetWise MCP in Cursor and Claude Code, discover tools and make a bounded contact lookup with clear client requirements.
Explore ai clients guideMeasure returned fields, latency and errors on a defined sample.
Explore benchmark workflowFind the right operation
If you know the person or company, go straight to enrichment. When you need to identify candidates first, use a filtered search and select the relevant record.
| Your task | Operation | Input requirements |
|---|---|---|
| Find companies by identity → | /companies/search | Supply name, website_url or registration_number; country_code is optional. page: 1–10, limit: 1–5. |
| Search employees → | /employees/search | filters needs at least one of company_id, full_name, job_titles, department_ids or seniority_ids. Use company and nomenclature IDs returned by the provider. page: 1–10; limit: 1–25. |
| Get employee details → | /employees/details | employee_id must come from Employees search, not domain contact search. include_email and include_phone default to true. |
| Autocomplete company fields → | /autocomplete/company | Supply name, website_url or registration_number; country_code is optional. include_provenance defaults to true. |
| Find a work email → | /contacts/find-work-email | Supply a LinkedIn profile URL, or first_name + last_name with exactly one of company_domain or company_name. |
| Find a business phone → | /contacts/find-phone | Use the same person identifiers as work-email lookup. Do not combine LinkedIn and name-based identifiers. |
| Enrich a contact → | /contacts/enrich | Choose one person identifier pattern. include_email and include_phone default to true; include_profile defaults to false. Set the switches explicitly to control the fields you request. |
| Enrich a company → | /companies/enrich | Supply one of company_id, website_url, linkedin_url, registration_number, vat_number or ticker. Legal identifiers require country_code; US legal lookups also require state. include_provenance defaults to true. |
| Reverse email lookup → | /reverse-email | email is required. include_phone defaults to true; include_profile defaults to false. Turn phone off when your workflow only needs identity context. |
| Search companies → | /prospecting/companies/search | filters must contain at least one supported filter. page accepts 1–10; limit accepts 1–25 and defaults to 10. Keep returned company_id values as strings, including leading zeroes. |
| Search contacts → | /prospecting/contacts/search | domains is required and accepts 1–20 domains. Optional filters: seniorities, company_locations and contact_locations. page accepts 1–10; limit accepts 1–25. A person_id is not an enrichment input: use the candidate’s LinkedIn URL or supported name and company context. |
Your backend chooses the endpoint, sends a JSON request and decides what to do with the response. A practical fit for product features, CRM automation and internal tools.
Read the API referenceYour host discovers the available tools, selects an operation and receives structured results. You control which tools the agent can use and how many calls it can make.
Connect an AI host{
"first_name": "Alex",
"last_name": "Reed",
"company_domain": "example.com"
}Use this body with POST /api/v1/contacts/find-work-email, or as the arguments for targetwise_find_work_email. The identifiers above are illustrative; replace them with your test record.
| Result | What your application should do |
|---|---|
matched | Check the returned identity and use the fields your workflow needs. |
partial | Inspect unresolved_fields and continue only if your required fields are present. |
not_found | Keep the value empty, ask for a stronger identifier or stop this branch. |
Keep the request_id for troubleshooting. grounding.retrieved_at tells you when TargetWise retrieved the result; it is not a guarantee that every underlying field was updated at that moment.