- Brand
- Lusha
- Category
- Sales & CRM
- Primary Subcategory
- B2B Prospecting & Contact Data
Integration details
Description
Connect Lusha to ChatGPT for B2B sales intelligence, prospecting, and go-to-market data, including verified contacts, decision-makers, and company enrichment, straight into your chat. Lusha is the B2B data layer behind 300M+ verified contacts, used by sales, marketing, RevOps, and recruiting teams for lead generation, CRM enrichment, account research, and outbound campaigns. Backed by GDPR, CCPA, SOC 2 Type II, and ISO 27701 compliance. Use Lusha to: Find contacts and decision-makers by title, seniority, industry, or location: "Find 10 VPs of RevOps at Series B SaaS companies in NYC" Pull verified work emails, direct dials, and mobile numbers with 98% email deliverability and 85% phone accuracy: "Get the verified email and mobile number for the Head of Marketing at Notion" Surface the decision-making buying committee at target accounts: "Find the decision makers I should reach out to at Notion and Figma" Enrich CRM records, leads, and inbound signups with firmographics, technographics, headcount, and revenue: "Enrich these 25 webinar signups with industry, tech stack, and hiring signals" Track buying signals like funding, leadership hires, and tech stack changes: "Show me the buying signals from the last 90 days for these 15 accounts" Get ranked company and contact recommendations scored by lead fit and intent: "Recommend companies that match our best customer profile, ranked by buying signals" Find lookalike accounts based on closed-won customers: "Find 20 companies that look like these 5 customers"
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- B2B Prospecting & Contact Data
- Secondary Subcategories
- None listed
- Brand
- Lusha
- Access
- Account required
- First tracked
- 2026-07-29
- Tool count
- 56
- Market
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your Plugin is no longer discoverable
We previously found Lusha discoverable in ChatGPT, but ChatGPT is no longer surfacing it.Add your email below and we’ll let you know when your Plugin becomes discoverable again, and send you alerts about it.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT B2B Prospecting & Contact Data
View Category56 tools agents can invoke
Lusha: returns account credit balance, rate-limit status, plan info, and per-action credit pricing. Use when: checking Lusha credit balance, rate-limit headroom, plan, or per-action credit cost before invoking credit-consuming tools. Do not use when: looking up available prospecting filter values (use prospecting_company_filters or prospecting_contact_filters). Returns: Lusha credit balance, rate-limit status (minute/hourly/daily), current plan, and a pricing map keyed by billable action. Each entry carries the rate, the quantity it covers, and a tools array naming the tools that charge it. The keys are action names rather than tool names, so read the tools array rather than matching a key to a tool. Credits: does not consume credits.
account_usage
Lusha Workspace: adds known Lusha entity ids (contacts or companies) to a table; duplicates are deduped. Use when: adding specific Lusha ids from a prior search/enrich result into an existing table. Do not use when: searching-and-saving in one step (use a search tool) or removing rows (table_remove_entities). For contacts tables, pass company_ids index-aligned with entity_ids so the workspace can enrich each contact (person + company pair); ignored for companies tables. Returns: counts of added, alreadyPresent, and invalidIds, plus attribution and billing (creditsCharged, lowBalance). Credits: free for contacts tables. For companies tables, consumes Lusha credits per newly added company at the account's revealCompany rate (see account_usage). Credits for every resolvable company sent are reserved before the add, so a balance that cannot cover them fails with HTTP 402 and adds nothing; alreadyPresent duplicates and invalidIds are not charged. billing.creditsCharged reports the actual charge. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
table_add_entities
Lusha Workspace: adds one or more Lusha catalog columns to a table and populates them across its rows. Use when: enriching a table with Lusha datapoints, one or several in a single call. Do not use when: refreshing a column already on the table (table_run_column) or removing one (table_remove_column). Prerequisite: column keys come from table_columns_catalog; the target tableId comes from table_create or table_list. A Lusha column is filled over the whole sheet, so adding one starts its run and there is no add-without-run; progress is read from table_status. Outcomes come back per column in request order, so one column failing (a duplicate, say) leaves the others added. Lusha catalog columns only: crm, ai, signal and score columns are not addable through the public API. Company data about a contact's employer goes straight onto the contacts table with its company_ key ('company_hqFullLocation', 'company_employeeHeadcountMin'); a separate companies table is not needed for it. Returns: per-column status (added/failed) with columnId and name, plus added/failed totals. Credits: consumes Lusha credits per billable row the added columns populate. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
table_add_columns
Lusha: exports known Lusha companies to the account's connected CRM, creating or updating the matching CRM records and returning per-company outcome, CRM link, and credits charged in one response. Use when: the user wants companies pushed, sent, exported, or synced into their CRM, from a search or enrichment run or from Lusha company ids they already hold. Do not use when: connecting or reconnecting a CRM (connect_crm); checking which CRMs are connected and their export limits (get_supported_integrations); or exporting contacts (export_contacts_to_crm). Prerequisite: Lusha company ids from a company search or enrich tool, and a connected CRM whose integrationName is passed as platform_name. User-scoped: OAuth sessions and member-owned API keys are accepted; account-wide API keys get a 403. An expired connection returns a 401 with redirectUrl, a fresh OAuth link; nothing is charged on that path and the export can be retried once it completes. An existing CRM record is always updated with Lusha data: the upstream accepts only UPDATE_ORIGINAL, so there is no duplication setting to pass. Returns: exportId, total, exported and failed counts, results[] (companyId, status of exported / already_exists / failed, crmLink, error), and billing.creditsCharged. Credits: consumes Lusha export credits per company the CRM actually writes; companies already present and left unchanged cost nothing. The amount charged comes back as billing.creditsCharged on the same response. account_usage does not quote an export rate today. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
export_companies_to_crm
Lusha: generates a secure OAuth link the user opens to connect (or reconnect) their CRM — Salesforce, HubSpot, and other supported CRMs — to Lusha. Connecting unlocks exporting records to the CRM, "in my CRM" / "not in my CRM" filtering, and CRM enrichment, so treat it as the gateway to every CRM feature. Use when: the user wants to connect, link, set up, reconnect, re-authorize, or "add" a CRM; says their CRM is disconnected, expired, or "not working"; or is trying to export or use any CRM feature but has no active connection. Proactively offer it the moment a CRM action is blocked by a missing or expired connection. Do not use when: the user only wants to see which CRMs are supported or check their connection status (use get_supported_integrations), or wants to export records (use the CRM export tools). Admin-only: if the user isn't an admin, return the message asking them to have their account admin connect it — do not generate a link. Present the returned redirectUrl as a clickable link — the OAuth flow completes in the browser, not in chat. Expired or invalid connections re-trigger the same flow; the URL is always fresh. Returns: redirectUrl to open in the browser to complete OAuth. Credits: does not consume credits.
connect_crm
Lusha: exports known Lusha contacts to the account's connected CRM, creating or updating the matching CRM records and returning per-contact outcome, CRM link, and credits charged in one response. Use when: the user wants contacts pushed, sent, exported, or synced into their CRM, from a search or enrichment run or from Lusha contact ids they already hold. Do not use when: connecting or reconnecting a CRM (connect_crm); checking which CRMs are connected and their export limits (get_supported_integrations); or exporting companies (export_companies_to_crm). Prerequisite: Lusha contact ids from a contact search or enrich tool, and a connected CRM whose integrationName is passed as platform_name. User-scoped: OAuth sessions and member-owned API keys are accepted; account-wide API keys get a 403. An expired connection returns a 401 with redirectUrl, a fresh OAuth link; nothing is charged on that path and the export can be retried once it completes. object_name selects the CRM object type: defaults to 'Contact'; pass 'Lead' on Salesforce when targeting leads. Returns: exportId, total, exported and failed counts, results[] (contactId, status of exported / already_exists / failed / duplicate, crmLink, error), and billing.creditsCharged. 'duplicate' means the id resolved to the same contact as an earlier id in the batch, which was sent once; error names that id. Credits: consumes Lusha export credits per contact the CRM actually writes; contacts already present, left unchanged, or flagged duplicate cost nothing. The amount charged comes back as billing.creditsCharged on the same response. account_usage does not quote an export rate today. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
export_contacts_to_crm
Lusha: looks up known companies in the Lusha database by name, domain, or FQDN (batch of 1-25). Use when: fetching specific known companies by name or domain. Do not use when: searching for companies by criteria like industry or size (prospecting_company_search covers that case). Optional 'enrich' bundles reveal fields; pass false for preview-only, then prospecting_company_enrich with each result's `canReveal[].field`. Returns: Lusha company profiles with available firmographic data. Credits: consumes Lusha credits per successful lookup; adds reveal credits when enrich is true (default). Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
companies_search
Lusha: resolves valid filter values accepted by prospecting_company_search. Use when: resolving valid filter values before calling prospecting_company_search. Do not use when: looking up specific known companies (companies_search covers that case). Query-required filter types: names, locations, technologies (the "q" parameter is required and narrows results). Optional "q": keywords, specialities (text search; empty list without it). All other filter types ignore "q" and return their values via GET (enumerable types a fixed list, the signal-types filter the available signal types, other free-text types an empty list). Resolves one filter type per call. Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
prospecting_company_filters
Lusha: scores known companies against 1-3 of the caller's ICP Hub Target Profiles and returns how well each fits (batch of 1-100). Use when: checking how well specific companies match the caller's own ICP, not just whether they show real-world momentum; scoring a batch of known companies against Target Profiles already defined in ICP Hub; or building ICP-based prioritization or routing on the caller's own account list. Do not use when: real-world momentum is wanted instead of ICP match (signal_score_companies), full firmographic details are needed (prospecting_company_enrich), new companies that fit a profile are wanted (recommendations_companies), or the caller has no Target Profile at all: the call errors and points to ICP Hub, with no fallback score. Prerequisite: the Target Profile ids, listed by icp_profiles_get. One identifier per entry: id, domain, name, or email. A score of 0 means the company fits none of the profiles; it is a real answer and is billed. Account-wide API keys can score against shared profiles only. Common sequence: this tool, then signal_score_companies, then prospecting_company_enrich for the top-fit, high-signal subset. Together the two scores make up the in-app Score: the overall fit of a lead for the caller's business, 0-1. Returns: results[] per company (id, name, domain, icpFitScore 0-1 and topProfile for the best match, profileScores per profile when more than one is requested, or error) and billing. icpFitScore is how closely the company matches the caller's ideal customer, where higher means a closer match; the app shows it as ICP fit score. Credits: consumes Lusha credits per scored company, including a score of 0; see billing.creditsCharged. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
icp_fit_score_companies
Lusha: returns this user's own active ICP target profiles and the signal types available on company recommendations. Free - consumes no credits. Use when: the user asks what target profiles or ICPs they have set up; or when about to filter recommendations_companies by profile or signal and the real ids are needed. Safe to call speculatively - it costs nothing. Do not use when: the user just wants the recommendations. recommendations_companies works with no arguments and does not require this call first. Auth: needs a member-owned (user-level) API key; an account-wide key returns 403. Returns: availableSignals (signal identifiers) and availableTargetIcps ({ id, name }). Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
recommendations_companies_filters
Lusha: the account list this user should work next - their own companies, ranked. Personalised to their active ICP target profiles and scored on live buying signals. Call it with no arguments. Use when: the user asks what to work on without naming criteria of their own - "who should I go after today", "which accounts should I prioritise", "give me my best accounts", "what's worth my time this week", "find me good-fit companies", "any warm accounts". Also the right opening move for a vague targeting ask, where this user's own ICP is a better filter than a guessed one. Do not use when: the user states the firmographic criteria to match (prospecting_company_search); names specific companies (companies_search); or brings a seed list to expand (lookalike_companies). If the user asks about people rather than accounts, recommendations_contacts covers it. No input required: every parameter is optional and an empty call returns the top-ranked page, sorted by lead score. recommendations_companies_filters (free) is only needed to filter by target profile or signal type - never invent those values. Each record carries leadScore, icpFitScore, signalScore, the signals that fired and the target profile matched, so you can tell the user WHY a company is on the list rather than just listing it. Auth: needs a member-owned (user-level) API key. An account-wide key returns 403 - say so plainly and offer prospecting_company_search instead. Returns: paginated recommended companies with scores, pagination, and billing. Credits: consumes Lusha credits per company returned, so pagination.size caps the cost; preview with size 10 before pulling a full page. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
recommendations_companies
Lusha signals: discovers company signal types and the filter directory, or returns values for a single filter when filterType is set. Use when: discovering company signal types and filters, or enumerating values for a filter type. Do not use when: looking up contact signal types (signals_contact_filters covers that case). Omit filterType for the directory; set it for values. 'hiringByLocations' and 'intentTopics' require 'query'. Returns: Directory: { signalTypes, availableFilters: [{ filterType, requiresQuery }] }. Values: { filterType, values }. Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
signals_company_filters
Lusha signals: scores known companies by their currently active buying signals (batch of 1-50). Use when: prioritizing known companies by buying-signal activity (up to 50 by id, domain, name, or email). Do not use when: the signal events are needed (signals_companies_get), or discovering companies by criteria (prospecting_company_search). One identifier per entry: id, domain, name, or email. Returns: results[] per company (id, name, domain, signalScore, signalTypes, noActiveSignals, or error) and billing. Credits: consumes Lusha credits per scored company; see billing.creditsCharged. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
signal_score_companies
Lusha signals: resolves companies by domain or name and returns activity signals (hiring, job posts, headcount, news). Batch of 1-25. Use when: only company identifiers (domain or name) are available. Do not use when: Lusha company IDs are known (signals_companies_get covers that case). Each entry: caller 'id' plus name or domain. Defaults: 6 months, 10 per type. Optional 'filters.include' narrows news/hiring signals. Returns: results[] per caller id with signal events (or NOT_FOUND), date window, billing.creditsCharged. Credits: consumes Lusha credits per signal returned. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
signals_companies_search
Lusha signals: returns activity signals (hiring, job posts, headcount, news, intent) for known Lusha company IDs (batch of 1-25). Use when: Lusha company IDs are known (e.g., from prospecting_company_search). Do not use when: only domain/name are available (signals_companies_search covers that case). Signal types and 'filters.include' values: signals_company_filters. Defaults: 6 months, 10 per type. Intent signals (topic research changes) are not part of 'allSignals'; narrow them with filters.include.intentTopics. Also saves results into a Workspace table by id. Returns: results[] per company ID with signal events, date window, and billing.creditsCharged. Credits: consumes Lusha credits per signal returned. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
signals_companies_get
Lusha prospecting: lists the account's recent background contact-enrichment jobs, newest first. Use when: a background enrichment was started earlier and its job id is no longer to hand. Do not use when: the job id is known (contacts_enrich_job_status reports one job directly), or no enrich response has carried a job block in this session. Takes no arguments and reports scalars only; jobs[].jobId feeds contacts_enrich_job_status and contacts_enrich_job_results. An account with nothing running returns an empty jobs array rather than an error. Jobs stay listed for about 3 hours after the enrich request that created them, ordered by most recent activity. Returns: requestId, jobCount, activeJobCount and jobs[] with jobId, status, requestId, createdAt, expiresAt, contactCount and outstandingCount. No contact data. Credits: does not consume credits.
contacts_enrich_job_list
Lusha prospecting: returns a window of the enriched contacts a background enrichment job has produced so far. Use when: reading the emails, phones and profile data an enrichment job has produced, for a job id from a prior enrich response. Do not use when: only progress counts are wanted (contacts_enrich_job_status returns them without contact data), or the enrich response carried no job block and already held the contacts. Prerequisite: a job id from the job.id field of a prospecting_contact_enrich or contacts_search response. Each response mirrors every contact in the job, so a window read before the job is terminal carries partial reveals; fields still running read ASYNC_PROCESSING in missingDataPoints and settle to NOT_FOUND once terminal. contactOffset and contactLimit window the mirror into the response budget; contactPage.nextContactOffset carries the next window while hasMore is true. creditsCharged is the running total for the whole enrich request, synchronous reveals included, rather than a background-only increment. Returns: jobId, requestId, status, isTerminal, pollAgainInSeconds, contacts[] (emails, phones, previousEmployment, profile, missingDataPoints), contactPage (offset, limit, returned, totalContacts, hasMore, nextContactOffset, truncatedByCharBudget) and creditsCharged. Credits: does not consume credits.
contacts_enrich_job_results
Lusha prospecting: returns progress counts for a background contact-enrichment job, with no contact data. Use when: a prior enrich response carried a job block and the question is whether its outstanding reveals have landed yet. Do not use when: the enriched contacts themselves are wanted (contacts_enrich_job_results returns them), or the enrich response carried no job block, which makes it already final. Prerequisite: a job id from the job.id field of a prospecting_contact_enrich or contacts_search response. isTerminal false with pollAgainInSeconds set describes a job still running; isTerminal true means the data is final and later reads return the same body. pollsRemainingBeforeExpiry counts the reads that fit before the nominal 3-hour expiry at the returned cadence; 0 alongside isTerminal false describes a job past that window whose store lease keeps sliding, so one more read can still succeed. creditsCharged is the running total for the whole enrich request, synchronous reveals included, rather than a background-only increment. Returns: jobId, requestId, status, isTerminal, pollAgainInSeconds, secondsUntilExpiry, pollsRemainingBeforeExpiry, pastExpiry, contactCount, contactsWithOutstanding, outstandingCount, outstandingByType, resolvedCount, notFoundCount, coversRemaining and creditsCharged. No emails, phones or profile data. Credits: does not consume credits.
contacts_enrich_job_status
Lusha: resolves valid filter values accepted by prospecting_contact_search. Use when: resolving valid filter values before calling prospecting_contact_search. Do not use when: looking up specific known contacts (contacts_search covers that case). No-query filter types: departments, seniority, all_countries, existing_data_points, plus the signal-types filter. Requires "locationSearchText": locations. Requires "q": job_titles, certifications, awards. Optional "q": skills (autocomplete; empty list without it). Resolves one filter type per call. Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
prospecting_contact_filters
Lusha: scores known contacts against 1-3 of the caller's ICP Hub Target Profiles and returns how well each fits (batch of 1-100). Use when: checking how well specific contacts match the caller's own ICP and its personas, not just whether they show real-world momentum; scoring a batch of known contacts against Target Profiles already defined in ICP Hub; or building ICP-based prioritization or routing on the caller's own contact list. Do not use when: real-world momentum is wanted instead of ICP match (signal_score_contacts), full contact details are needed (prospecting_contact_enrich), new contacts that fit a profile are wanted (recommendations_contacts), or the caller has no Target Profile at all: the call errors and points to ICP Hub, with no fallback score. Prerequisite: the Target Profile ids, listed by icp_profiles_get. One lookup path per entry: id, linkedinUrl, email, or name + company. A score of 0 means the contact fits none of the profiles; it is a real answer and is billed. Account-wide API keys can score against shared profiles only. Common sequence: this tool, then signal_score_contacts, then prospecting_contact_enrich for the top-fit, high-signal subset. Together the two scores make up the in-app Score: the overall fit of a lead for the caller's business, 0-1. Returns: results[] per contact (id, fullName, company, icpFitScore 0-1 and topProfile for the best match, profileScores per profile when more than one is requested, or error) and billing. icpFitScore is how closely the contact matches the caller's ideal customer, where higher means a closer match; the app shows it as ICP fit score. Credits: consumes Lusha credits per scored contact, including a score of 0; see billing.creditsCharged. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
icp_fit_score_contacts
Lusha: returns this user's own active ICP target profiles and the signal types available on contact recommendations. Free - consumes no credits. Use when: the user asks what target profiles or ICPs they have set up; or when about to filter recommendations_contacts by profile or signal and the real ids are needed. Safe to call speculatively - it costs nothing. Do not use when: the user just wants the recommendations. recommendations_contacts works with no arguments and does not require this call first. Auth: needs a member-owned (user-level) API key; an account-wide key returns 403. Returns: availableSignals (signal identifiers) and availableTargetIcps ({ id, name }). Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
recommendations_contacts_filters
Lusha: returns the account's current queue of recommended contacts, ranked by lead score and scored against the account's active ICP target profiles and recent buying signals such as job changes and promotions. Use when: the user asks for recommended people to contact without stating search criteria, for example "who should I reach out to" or "who are my best leads". Recommended accounts rather than people come from recommendations_companies. Do not use when: the user states the titles, seniority or filters to match (prospecting_contact_search); names specific people (contacts_search); or wants the buying committee at accounts they have (decision_makers_buying_group_search). All parameters are optional; a call without them returns the top-ranked page by lead score. Target-profile and signal-type ids come from recommendations_contacts_filters (free). Each record carries leadScore, icpFitScore, signalScore, the matched signals and target profile, plus name, job title, company, LinkedIn URL and location. No email or phone is returned; prospecting_contact_enrich reveals them for the contacts the user selects. Requires OAuth or a member-owned (user-level) API key; an account-wide API key returns 403. Returns: paginated recommended contacts with scores, pagination, and billing. Credits: consumes Lusha credits per contact returned; pagination.size caps the cost. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
recommendations_contacts
Lusha signals: returns the available contact signal types accepted by signals_contacts_get and signals_contacts_search. Use when: discovering which contact signal types are currently supported before requesting contact signals. Do not use when: fetching signals data for a contact (signals_contacts_get and signals_contacts_search return signals). Returns: list of supported contact signal type identifiers (e.g., promotion, companyChange, allSignals). Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
signals_contact_filters
Lusha signals: scores known contacts by their currently active buying signals (batch of 1-50). Use when: prioritizing known contacts by buying-signal activity (batch up to 50). Do not use when: the signal events are needed (signals_contacts_get), or resolving identifiers without a score (signals_contacts_search). One lookup path per entry: id, linkedinUrl, email, or name + company. Returns: results[] per contact (id, fullName, company, signalScore, signalTypes, noActiveSignals, or error) and billing. Credits: consumes Lusha credits per scored contact; see billing.creditsCharged. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
signal_score_contacts
Lusha signals: resolves contacts by LinkedIn URL, email, or name+company and returns recent activity signals (promotions, company changes). Batch of 1-25. Use when: only contact identifiers (LinkedIn URL, email, or name+company) are available. Do not use when: Lusha contact IDs are known (signals_contacts_get covers that case). Each entry: caller 'id' plus social_link, email, or full_name+company. Defaults: 6 months, 10 per type. Returns: results[] per caller id with signal events (or NOT_FOUND), date window, billing.creditsCharged. Credits: consumes Lusha credits per signal returned. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
signals_contacts_search
Lusha signals: returns recent activity signals (promotions, company changes) for known Lusha contact IDs (batch of 1-25). Use when: Lusha contact IDs are known (e.g., from prospecting_contact_search or contacts_search). Do not use when: only LinkedIn URL/email/name+company (signals_contacts_search covers that case). Signal type values: signals_contact_filters. Defaults: 6 months, 10 per type. Also saves results into a Workspace table by id. Returns: results[] per contact ID with signal events, date window, and billing.creditsCharged. Credits: consumes Lusha credits per signal returned. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
signals_contacts_get
Lusha: looks up 1-25 known business contacts by Lusha ID, name+company, LinkedIn URL, or email. Use when: fetching contact details for known specific contacts (single or batch up to 25). Do not use when: searching for contacts by criteria (prospecting_contact_search covers that case). Optional 'enrich' bundles reveal data; pass false for preview-only, then prospecting_contact_enrich with each result's `canReveal[].field`. Returns: Lusha contact profiles with available business data. Credits: consumes 1 Lusha credit per successful lookup; adds reveal credits when enrich is true (default). Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
contacts_search
Lusha Conversations: returns the speaker-attributed transcript of one recorded call, in windows. Use when: the verbatim wording of a known recorded call is needed. Do not use when: the summary or coaching suffices (conversations_search covers those). Prerequisite: a conversation id from conversations_search. segmentOffset and segmentLimit window a long call into the budget. Returns: segments[] (speaker, side, text, startTime, endTime), segmentPage (offset, totalSegments, hasMore, nextSegmentOffset), and billing. Credits: consumes Lusha credits per request, including each additional window. account_usage carries the rate for this account and names this tool on it; no entry there means this account is not charged for it. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
conversations_transcript_get
Lusha Conversations: finds the account's recorded sales calls by keyword, date, participant, domain, or title. Use when: reading recorded Lusha calls and their summary, coaching, or chapters. Do not use when: prospecting new contacts or companies (prospecting_contact_search). 'query' searches spoken content and overrides the structural filters. detail 'full' adds coaching and chapters, capping pageSize at 5. Returns: conversations[] (id, title, date, participants, company, summary), page, and billing. Credits: consumes Lusha credits per block of conversations returned; zero results cost nothing. account_usage carries the rate and the block size for this account and names this tool on it; no entry there means this account is not charged for it. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
conversations_search
Lusha: creates a Target Profile from account and persona criteria, and by default activates it. Use when: setting up Lusha targeting for an account that has none, or adding a further profile alongside the existing ones. Do not use when: changing a profile that already exists (icp_profile_update and icp_profile_status_set cover that case). An active profile changes every recommendation the account receives from then on. Criterion keys and values come from icp_filters_get; anything else is refused with the valid options named. A criterion left unset is not targeted, so a profile setting only a few matches broadly; profiles are usually settled with the user one criterion at a time, account criteria first and then each persona. Intent topics (intent_topics) and Lusha-based exclusions (lusha_exclusions) are steps of a profile like the criteria, each settled with the user; CRM exclusions are set in the Lusha platform. Weighting per criterion is the Lusha platform default and cannot be set. Sharing across the account is admin-only and affects every user on it. Limits: 10 profiles per user, 10 shared per account, 4 personas and 1 account criteria set per profile. Member-owned API keys allowed; account-wide keys get 403. Returns: the created profile, including its id and a link to it in the Lusha platform. Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
icp_profile_create
Lusha Workspace: creates an empty contacts or companies table to collect and enrich saved records. Use when: starting a new saved list/table before adding entities or writing search/enrich/signals results into it. Do not use when: a target table already exists (use its tableId directly with the entity/column tools). Set entity_type to match the records the table will hold ('contacts' or 'companies'); it cannot be changed later. Returns: the created table (tableId, name, entityType, visibility, owner, timestamps). Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
table_create
Lusha: finds the decision makers and full buying committee (decision makers, potential champions, end users) at given companies — who to contact and who signs off, ranked. Use when: the user asks who to reach out to, who decides, or who the decision makers, buyers, stakeholders, champions, or buying committee are at one or more specific companies, whether the user names them or they are known by domain or Lusha id. Do not use when: a specific named contact is already known (contacts_search), or people must be found by specific job titles or by title/seniority filters without a company list (prospecting_contact_search). 1-25 companies; needs 'domain' or 'id'. A company named by the user is passed as its website domain (e.g. microsoft.com); companies_search resolves the domain of an unfamiliar name. 'personas' (see schema). contactsLimit 1-100/company (default 100); page 0-based, size 10-100. Returns: Per-company contacts with roles[] (or NOT_FOUND), pagination, billing.creditsCharged. Credits: consumes Lusha credits per contact returned. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
decision_makers_buying_group_search
Lusha: permanently deletes a Target Profile and stops the recommendations it drives. Use when: removing Lusha targeting that is no longer wanted at all. Do not use when: pausing targeting temporarily (icp_profile_status_set keeps the criteria and is reversible). Irreversible: the criteria and personas are gone with it. Refused while it is the only active profile on the account, since recommendations would stop. A profile owned by someone else cannot be deleted unless the caller is an account admin. Member-owned API keys allowed; account-wide keys get 403. Returns: deleted: true once the profile is gone. Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
icp_profile_delete
Lusha Workspace: deletes a table and its rows/columns. Use when: permanently removing a table the caller no longer needs. Do not use when: only hiding a table from active views (table_update with archived=true) or removing rows (table_remove_entities). Prerequisite: the target tableId comes from table_create or table_list. Returns: the deleted tableId and its terminal status. Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
table_delete
Lusha Workspace: lists a table's columns with per-status row counts. Use when: discovering the columns a table already has (and their columnId) before running or removing one. Do not use when: the columns available to add (table_columns_catalog); reading the row values themselves (table_get_entities). Prerequisite: the target tableId comes from table_create or table_list. Returns: columns (columnId, name, type, key, isDefault, timestamps) with per-status row counts. Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
table_list_columns
Lusha Workspace: lists the caller's contacts or companies tables with pagination and name/status filters. Use when: discovering existing tables or resolving a table name to its tableId. Do not use when: inspecting one table's row counts and column run progress (table_status covers that case). Returns: paginated tables (tableId, name, entityType, visibility, status, owner, timestamps) plus pagination. Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
table_list
Lusha: discovers companies similar to seed companies; returns paginated lookalike candidates. Use when: expanding a target account list with companies matching known good-fit profiles. Requires 5-100 seeds. Do not use when: looking up specific known companies (companies_search) or filtering by criteria (prospecting_company_search). Also saves results into a Workspace table by id. Returns: lookalike companies (employees, industry, location), dedupeSessionId, meta.hasMore, and credits. Re-use dedupeSessionId for follow-ups; expires in 30 days. Credits: consumes Lusha credits per request. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
lookalike_companies
Lusha: discovers contacts similar to seed contacts; returns paginated lookalike candidates. Use when: expanding a prospect list with contacts matching known good-fit profiles. Requires 5-100 seeds. Do not use when: looking up specific known contacts (contacts_search) or filtering by structured criteria (prospecting_contact_search). Also saves results into a Workspace table by id. Returns: lookalike contacts plus dedupeSessionId, meta.hasMore, and credits. Re-use dedupeSessionId for follow-up pages; expires after 30 days. Credits: consumes Lusha credits per request. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
lookalike_contacts
Lusha prospecting: reveals full firmographic details for one or more Lusha company IDs. Use when: fetching full firmographic data for a known set of Lusha company IDs (from any prior search). Do not use when: no Lusha company IDs available (companies_search or prospecting_company_search return IDs first). Optional 'reveal' selects premium firmographics from prior `canReveal[].field` (cost in `canReveal[].credits`); omitted returns base fields only. Also saves results into a Workspace table by id. Returns: enriched Lusha company profiles. Credits: consumes Lusha credits per enriched company. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
prospecting_company_enrich
Lusha prospecting: filters are flat top-level fields; only `exclude` groups other filters (`exclude.companies`), and object-valued fields such as `signals` keep their own schema. Finds companies by those filters; requires at least one company-side filter. Use when: finding multiple companies by criteria. Do not use when: known company (companies_search); signals for known IDs (signals_companies_get). Prerequisite: valid filter values are returned by prospecting_company_filters. Example: `{"locations": [{"country": "United States"}], "keywords": ["fintech"], "exclude": {"companies": {"domains": ["acme.com"]}}}`. There is no include or filters wrapper; an unrecognized top-level key returns an error that restates this shape and, for a filter nested under a wrapper, names its flat field; nothing is searched or charged. An empty array means no filter on that field. Also saves results into a Workspace table by id. Returns: paginated Lusha companies. prospecting_company_enrich returns full firmographic details for selected IDs. Credits: may consume Lusha credits per request. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
prospecting_company_search
Lusha prospecting: enriches contact IDs (emails/phones + profile). Use when: fetching emails/phones or profile data for known Lusha contact IDs. Do not use when: no Lusha contact IDs (search tools return IDs first). Optional 'reveal' from prior canReveal; defaults to all. waterfallEnabled false = Lusha-only. Saves to Workspace table. A job block in the response marks reveals still running in the background; contacts_enrich_job_status reports their progress and contacts_enrich_job_results returns them as they land. No job block means the response is already final. Returns: emails/phones (dataSource: lusha or third-party vendor name) when revealed; missingDataPoints[]; request-level status/statusReason/statusDescription; non-billable profile fields; an optional job block when reveals continue in the background. Credits: consumes Lusha credits per enriched contact. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
prospecting_contact_enrich
Lusha prospecting: filters are flat top-level fields; only `exclude` groups other filters (`exclude.contacts`, `exclude.companies`), and object-valued fields such as `signals` keep their own schema. Finds business contacts by those filters; requires at least one contact-side or company-side filter. Use when: finding multiple contacts by criteria. Do not use when: known contact (contacts_search); signals for known IDs (signals_contacts_get); the decision makers, buying committee, or who to contact at specific named companies, with no particular job title asked for (decision_makers_buying_group_search, by company domain). Prerequisite: valid filter values are returned by prospecting_contact_filters. Example: `{"jobTitles": ["VP of Sales"], "countries": ["US"], "exclude": {"contacts": {"jobTitles": ["Assistant"]}, "companies": {"domains": ["acme.com"]}}}`. There is no include or filters wrapper; an unrecognized top-level key returns an error that restates this shape and, for a filter nested under a wrapper, names its flat field; nothing is searched or charged. An empty array means no filter on that field. Also saves results into a Workspace table by id. Returns: paginated Lusha contacts. prospecting_contact_enrich: emails/phones + profile for selected IDs. Credits: may consume Lusha credits per request. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
prospecting_contact_search
Lusha Workspace: reads a page of a table's rows, including populated column values. Use when: retrieving the saved/enriched records in a table after adds or column runs complete. Do not use when: checking run progress/aggregate counts (table_status) or listing columns (table_list_columns). Prerequisite: the target tableId comes from table_create or table_list. Credits for the full page size are reserved before the read, not for the rows that come back: when the balance cannot cover the requested page size the call fails with HTTP 402 and returns no rows, even on a table holding fewer rows. A smaller page size lowers the reservation and that risk. Returns: a page of row objects (entity data + column values), pagination, and billing (creditsCharged, lowBalance). Credits: consumes Lusha credits per row returned, charged after the read against the reservation for the full page size. account_usage carries the rate for this account under tableRead and names this tool on it; billing.creditsCharged reports the actual charge. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
table_get_entities
Lusha Workspace: removes rows (by Lusha entity id) from a table. Use when: pruning specific contacts or companies from a table. Do not use when: deleting the whole table (table_delete). Prerequisite: the target tableId comes from table_create or table_list. Returns: count of removed rows and any ids that were not present. Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
table_remove_entities
Lusha Workspace: removes a non-default column from a table. Use when: deleting a column that is no longer needed. Do not use when: removing rows (table_remove_entities) or deleting the table (table_delete). Default Lusha columns cannot be removed. Prerequisite: the target tableId comes from table_create or table_list. Returns: the removed columnId and a removed flag. Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
table_remove_column
Reports a client-side BI event.
report_event
Lusha Workspace: runs (populates) a column across all, missing-only, or specific rows. Use when: populating or refreshing a column's values for existing rows. Do not use when: creating a new column (table_add_columns) or reading results (table_get_entities / table_status). Prerequisite: the target tableId comes from table_create or table_list. run_scope='specific' requires entity_ids. Runs are async - poll table_status for progress. Returns: the columnId, requested runScope, and the async run status. Credits: consumes Lusha credits per billable row the run populates. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
table_run_column
Lusha: returns every CRM Lusha supports (both connected and not), each with its live connection state and export limits. Useful as a first step in any connect-or-export flow: it shows whether to connect or go straight to export, and which connection to use when more than one exists. Use when: the user asks which CRMs Lusha supports or integrates with; whether they're connected and to which CRM ("is my Salesforce still connected?", "which CRMs do I have linked?"); or what their export limits are. Also useful before offering or starting any CRM export to determine the connect-vs-export path, and right after a connection completes to confirm state. Do not use when: connecting a CRM (connect_crm); or exporting contacts/companies (use the CRM export tools). Returns ALL supported platforms, not only connected ones — read isAccountConnected / isUserConnected for connection state. Requires an OAuth (user-scoped) session; API-key callers get a 403. Returns: data[]: integrationName, instanceUrl, status, isAccountConnected, isUserConnected, supportedObjects, exportContactLimits, exportCompanyLimits, createdAt, updatedAt. Credits: does not consume credits.
get_supported_integrations
Lusha Workspace: lists every Lusha data column available to add to a contacts or companies table. Use when: choosing which columns to enrich a table with, or resolving a datapoint to the columnKey that table_add_columns takes. Do not use when: listing the columns a table already holds (table_list_columns) or reading row values (table_get_entities). Per entity_type and independent of any table; keys come back without the table's own prefix ('jobTitle', not 'contact_jobTitle'). A contacts table also lists every company column, filled from each contact's employer (HQ location, headcount, revenue, industry, funding, technologies), keyed with their company_ prefix ('company_hqCity'). Returns: catalog entries (category, displayName, columnKey, type) for the entity type. Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
table_columns_catalog
Lusha: returns the account and persona criteria a Target Profile supports, each with its legal values, plus the account's intent topics and the Lusha-based exclusion options. Use when: grounding targeting language in valid criteria and values before reading or changing a Lusha Target Profile. Do not use when: resolving filter values for a one-off prospecting search (prospecting_company_filters and prospecting_contact_filters cover that case). Account criteria describe the companies to target; persona criteria describe the people. A criterion whose values are not listed inline returns a lookup path to search with a query term. Intent topics are only those already chosen for the account in the Lusha platform; the list is empty when there are none. The response carries profile_questions: the order a profile is settled with the user, one question at a time — account criteria, each persona, intent topics, then Lusha-based exclusions. Only these criteria are accepted. Member-owned API keys allowed; account-wide keys get 403. Returns: the criteria for each half of a profile, each with its valid values or where to look them up, the account intent topics, the Lusha-based exclusion options, profile limits and profile_questions. Credits: does not consume credits. Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
icp_filters_get
Lusha ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Lusha's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Lusha alternatives on ChatGPT?
As of 2026-11-02, Lusha competes with Add to CRM, AdvPulse, AgentData, AgentSource, AI Leads Scout, AI Vibe Prospecting, anVendor, Apollo.io and 71 more in ChatGPT B2B Prospecting & Contact Data, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.