For Agents
Search and enrich B2B contacts and companies with Lusha: find prospects by filters, reveal profile fields by id, pull lookalikes and buying groups, and subscribe to signal webhooks.
Use for: I need to enrich a list of contacts with their business profile, Find all companies that match an industry and size filter, Get the buying group contacts at a target company, Retrieve lookalike companies for my best customers
Not supported: Does not send emails, run outreach sequences, or store CRM deals. Use for B2B contact and company search, enrichment, and signals only.
The Lusha API enriches B2B contact and company records with business profile data, using a search-then-enrich pattern under its V3 endpoints. Search contacts or companies by known identifiers, then enrich them by id with the fields you choose to reveal, or do both in a single search-and-enrich call. Filter-based prospecting, lookalike recommendations from seed records, buying-group discovery, and contact and company signals such as job changes extend it into prospect discovery. Tables, signal-score endpoints, website-visitor lookups, and webhook subscriptions round out the surface.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Lusha API Documentation, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Flusha.com%2Flusha" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Flusha.com%2Flusha" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Lusha API Documentation API.
Enrich contacts or companies by Lusha id, choosing which fields to reveal with the reveal option
Search and enrich contacts in one call from identifiers such as name and company
Prospect contacts and companies with filter-based search, discovering valid filter values first
Find lookalike contacts or companies from seed records and the buying group at target companies
Read contact and company signals by signal type and score companies by signal activity
Organise enriched records into contacts and companies tables and run columns over them
Subscribe a webhook URL to signal events and review delivery audit logs
Patterns agents use Lusha API Documentation API for, with concrete tasks.
★ AI sales-research agent enriching leads
A sales-research agent receives a list of names and company domains and needs business profiles before outreach. Through Jentic it searches for 'enrich a contact', loads the Lusha search-and-enrich operation with its input schema, and submits the contacts in one request with the API key injected at call time. The agent returns enriched profiles without the developer hand-writing a Lusha client.
Call POST /v3/contacts/search-and-enrich with a contacts array holding a full name and company domain, then return the enriched profile fields
Filter-based account prospecting
A growth team builds a target-account list from firmographic filters rather than known names. The Lusha prospecting endpoints accept filters plus pagination, and the filter discovery endpoints list the valid filter types and values first, so a query only uses filters Lusha understands. Results can be saved into a companies table for later enrichment.
Call GET /v3/companies/prospecting/filters to discover filter types, then POST /v3/companies/prospecting with filters and pagination to list matching companies
Lookalike and buying-group expansion
After closing a few accounts, a team wants more like them and the right people to contact. The Lusha lookalike endpoints take seed records and return similar companies or contacts, while the buying-group endpoint returns contacts at given companies for chosen personas. Together they expand an ideal-customer list into named contacts.
Call POST /v3/companies/lookalike with seeds from three closed accounts, then POST /v3/contacts/buying-group with the returned companies to find decision makers
Signal-driven outreach timing
Outreach lands better when it follows a real change at the account. The Lusha signal endpoints return contact and company signals for chosen signal types since a start date, the signal-score endpoints rank companies or contacts by signal activity, and webhook subscriptions push new signals to your URL. A monitor can then queue outreach when a tracked account changes.
Call GET /v3/companies/signals/types, then POST /v3/companies/signals with ids and signalTypes to fetch recent signals for a watch list
65 endpoints — the lusha api enriches b2b contact and company records with business profile data, using a search-then-enrich pattern under its v3 endpoints.
METHOD
PATH
DESCRIPTION
/v3/contacts/search-and-enrich
Search and enrich contacts
/v3/contacts/enrich
Enrich contacts by id
/v3/companies/enrich
Enrich companies by id
/v3/companies/prospecting
Prospect companies by filters
/v3/companies/lookalike
Get lookalike companies
/v3/contacts/buying-group
Get buying group contacts
/v3/companies/signals
Get company signals
/api/subscriptions
Create a webhook subscription
/v3/contacts/search-and-enrich
Search and enrich contacts
/v3/contacts/enrich
Enrich contacts by id
/v3/companies/enrich
Enrich companies by id
/v3/companies/prospecting
Prospect companies by filters
/v3/companies/lookalike
Get lookalike companies
/v3/contacts/buying-group
Get buying group contacts
/v3/companies/signals
Get company signals
/api/subscriptions
Create a webhook subscription
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>What agents get from Jentic-routed access to this vendor.
Setup
Wiring Lusha by hand means sending the key in its non-standard `api_key` header, learning the V3 search-then-enrich flow, and tracking async enrich jobs. Through Jentic you install once, import Lusha from the API Directory, store the key once, and your agent calls it.
Permission scoping
Lusha carries most targets in the request body, such as the ids sent to POST /v3/contacts/enrich, so rules bound which operations your agent may call rather than which records. Tables are the exception: table_id sits in the URL path, so a rule can pin the agent to one table. You choose the operations it may call, so destructive ones like deleting a table or regenerating the account secret are not included unless you add them.
Credential isolation
Your Lusha API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'enrich a contact' or 'find lookalike companies', and Jentic returns the matching Lusha operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Lusha API Documentation API through Jentic.
What authentication does the Lusha API use?
The Lusha API authenticates with an API key sent in the `api_key` request header, per its OpenAPI spec, and the spec applies it to every operation. You find the key in your Lusha dashboard under API settings. Through Jentic the key is stored by your own instance and attached at call time, so the agent never sees it.
Can I enrich contacts in bulk with the Lusha API?
Yes. POST /v3/contacts/enrich takes an ids array of Lusha contact ids plus a reveal option for the fields you want returned, and POST /v3/contacts/search-and-enrich takes a contacts array of identifiers to find and enrich in one call. Larger runs can be tracked with GET /v3/contacts/jobs/{jobId}.
What are the rate limits for the Lusha API?
The OpenAPI spec does not specify numeric rate limits. Check the Lusha documentation at https://docs.lusha.com for current limits, and use GET /v3/account/usage to read your account's credit usage before a large enrichment run.
Is there a Lusha MCP server?
You don't need an MCP server to give your agent Lusha. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the search, enrich, and prospecting operations on demand without loading another server's tool definitions into its context.
How do I prospect companies with Lusha through Jentic?
Search Jentic for 'find companies matching filters', load the POST /v3/companies/prospecting operation, and execute it with filters and pagination; GET /v3/companies/prospecting/filters lists the filter types to use. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Can I limit what my agent is allowed to do with the Lusha API?
Yes. For example, write a rule that allows only POST /v3/contacts/search-and-enrich and GET /v3/account/usage, so the agent can enrich a lead list and check credit usage but cannot delete tables, edit subscriptions, or regenerate the account secret. Every call it makes is logged.
GET STARTED