openapi: 3.2.0
info:
title: Lusha API Documentation Signals API
version: ''
x-logo:
url: https://www.lusha.com/logo.png
license:
name: Proprietary
url: https://lusha.com/legal/terms
description: "<blockquote class=\"callout\">\n\n **This is the Lusha API V3 documentation.** \n \n V3 introduces a new search-then-enrich pattern, bulk operations, AI-powered lookalikes, and richer filter capabilities. All endpoints are under `https://api.lusha.com/v3/`.\n\n For more information on V3, refer to the [Migration Guide](/tutorials/v3-migration-guide).\n\n</blockquote>\n\n --- \n\nLusha provides a RESTful API for querying a comprehensive dataset of business profiles and company information. Built for teams running prospecting, enrichment, automation, and analytics workflows that need accurate, continuously updated business data. The API supports both real-time and bulk use cases.\n\nUse the Lusha API to **search for new prospects**, **enrich existing records**, **react to real-world changes**, and **expand coverage** with AI-powered lookalike recommendations.\n\n> All API requests must be made over **HTTPS**. All responses are returned in **JSON** format.\n\n--- \n## Available Endpoints\n\n| Category | Description |\n|---|---|\n| [**Search**](#tag/Search) | Find contacts or companies using known identifiers |\n| [**Enrich**](#tag/Enrich) | Retrieve full profile data for contacts or companies by ID |\n| [**Search & Enrich**](#tag/Search-and-Enrich) | Find and retrieve full contact or company data in a single call |\n| [**Prospecting**](#tag/Prospecting) | Filter-based search across contacts and companies |\n| [**Lookalikes**](#tag/Lookalikes) | AI-powered recommendations for similar contacts and companies |\n| [**Buying Group**](#tag/Buying-Group) | Identify decision makers, champions, and end users within target accounts |\n| [**Contacts Tables**](#tag/Contacts-Tables) | Persist, organize, and enrich contacts in reusable tables |\n| [**Companies Tables**](#tag/Companies-Tables) | Persist, organize, and enrich companies in reusable tables |\n| [**Signals**](#tag/Signals) | Real-world activity data for contacts and companies |\n| [**Website Visitors**](#tag/Website-Visits) | Companies ranked by website-visit signals for your tracked domains |\n| [**Filters**](#tag/Filters) | Discover valid filter values for prospecting |\n| [**Webhooks**](#tag/Webhooks) | Real-time signal notifications via HTTP callbacks |\n| [**Account**](#tag/Account) | Usage, credits, rate limits, and pricing |\n\n<blockquote class=\"callout\">\n\n **Waterfall Reveal for Contact Enrichment.**\n\n Enrich Contacts now supports `waterfallEnabled`. Fall through to your enabled third-party providers when Lusha's own data has no match, for extra reach on hard-to-match contacts. On by default once your account has it turned on - pass `waterfallEnabled: false` to opt a specific call out. [See Enrich Contacts](#operation/enrichContacts).\n\n</blockquote>\n\n---\n\n## Data Source and Privacy\n\n**Lusha is a search platform.** The data provided is not created or directly managed by Lusha. It is sourced from publicly available information and trusted business partners.\n\nFor more details on how we collect and handle data, see our [Privacy Policy](https://lusha.com/legal/privacy-notice/).\n\n---\n\n## Authentication\n\nAll API requests require an **API key** linked to your Lusha account and plan. Pass your key in the `api_key` request header on every call.\n\n> Generate and manage your API key in the [Lusha dashboard](https://dashboard.lusha.com/enrich/api).\n\nStore your API key securely and use it only in **server-side environments**.\n\n---\n\n## Rate Limiting\n\nLusha enforces rate limits on a per-plan basis to ensure fair usage and platform stability. Limits are applied across multiple time windows (per minute, per hour, and per day), and vary depending on your account plan.\n\nRate limits for the **Credit Usage API** differ from standard endpoint limits.\n\n> **Note:** To check your current plan's limits, visit the [Lusha Help Center](https://info.lusha.com/en/articles/163856-all-there-is-to-know-about-lusha-s-api) or contact your account manager.\n\n**Rate Limit Response Headers**\n\n| Header | Description |\n|--------|-------------|\n| `x-rate-limit-daily` | Total requests allowed per day |\n| `x-daily-requests-left` | Requests remaining in your daily quota |\n| `x-daily-usage` | Requests made in the current daily period |\n| `x-rate-limit-hourly` | Total requests allowed per hour |\n| `x-hourly-requests-left` | Requests remaining in your hourly quota |\n| `x-hourly-usage` | Requests made in the current hourly period |\n| `x-rate-limit-minute` | Total requests allowed per minute |\n| `x-minute-requests-left` | Requests remaining in the current minute window |\n| `x-minute-usage` | Requests made in the current minute window |\n\n---\n## Error Codes\n\nLusha uses standard HTTP status codes to indicate the result of each request.\n\n| Code | Name | Description |\n|------|------|-------------|\n| `200` | OK | Request was successful |\n| `400` | Bad Request | Request is malformed or missing required fields |\n| `401` | Unauthorized | API key is missing or invalid |\n| `402` | Payment Required | Insufficient credits or payment needed |\n| `403` | Forbidden | Account is inactive. Contact support@lusha.com |\n| `404` | Not Found | Endpoint or resource does not exist |\n| `429` | Too Many Requests | Rate limit or daily quota exceeded |\n| `451` | Unavailable For Legal Reasons | Request blocked due to GDPR regulations |\n| `499` | Client Closed Request | Request timed out before completing |\n| `5XX` | Server Error | Issue on Lusha's end. Retry with exponential backoff |\n\n**Error Response Format**\n\n```json\n{\n \"statusCode\": 400,\n \"message\": \"Invalid request parameters\"\n}\n```\n\n**Tables-specific error codes**\n\n| Code | Status | Meaning |\n|---|---|---|\n| `TABLE_NOT_FOUND` | 404 | The `table_id` does not exist or is not accessible to this account |\n| `COLUMN_NOT_FOUND` | 404 | The `column_id` does not exist on the given table |\n| `TABLE_NAME_CONFLICT` | 409 | A table with this name already exists |\n\nTables error bodies use the shape `{ \"message\": \"...\", \"code\": <status>, ... }` rather than the `statusCode`/`errors` shape used elsewhere in this doc.\n\n**Limits:** up to 500 entity IDs per add/remove call · max 50,000 entities per table · max 500 tables per account · `page` 0–100 · `size` default 100.\n\n**Tips for Handling Errors**\n\n- Verify your API key is correct and active\n- Read the `message` field for specific troubleshooting details\n- For `429` errors, wait before retrying\n- For `5XX` errors, use exponential backoff before retrying\n"
contact:
name: Lusha Support
url: https://api.lusha.com
email: support@lusha.com
termsOfService: https://lusha.com/legal/terms
x-privacy-policy:
name: Privacy Policy
url: https://lusha.com/legal/privacy-notice/
servers:
- url: https://api.lusha.com
description: Production server
security:
- ApiKeyAuth: []
tags:
- name: Signals
description: 'Real-world activity data for contacts and companies.
Signals are available as standalone endpoints or as an optional `signals` filter on Search and Prospecting endpoints.
**Contact signal types:** `promotion`, `companyChange`, `allSignals`
----
**Company signal types:** `headcountIncrease1m/3m/6m/12m`, `headcountDecrease1m/3m/6m/12m`, `surgeInHiring`, `surgeInHiringByDepartment`, `surgeInHiringByLocation`, `websiteTrafficIncrease`, `websiteTrafficDecrease`, `itSpendIncrease`, `itSpendDecrease`, `riskNews`, `commercialActivityNews`, `corporateStrategyNews`, `financialEventsNews`, `peopleNews`, `marketIntelligenceNews`, `productActivityNews`, `allSignals`
----
**Signal Score:** Use [Score Companies by Signal Activity](#operation/getCompanySignalScores) or [Score Contacts by Signal Activity](#operation/getContactSignalScores) to get a single aggregate momentum score ([0,1]) plus the active signal breakdown for a batch of entities, rather than a raw event list.
----
Credits are charged per matched signal per result via `showSignalsContact` or `showSignalsCompany`.
Pass `tableId` to also persist matching results into an existing table. See [Contacts Tables](#tag/Contacts-Tables) or [Companies Tables](#tag/Companies-Tables).
'
x-tag-expanded: true
paths:
/v3/contacts/signals:
post:
tags:
- Signals
summary: Contact Signals
operationId: getContactSignals
description: 'Retrieve signal events for a list of contacts — job changes and promotions.
Pass up to 100 contact `ids`. Use `signalTypes` to specify which events to return (`promotion`, `companyChange`, or `allSignals`). Optionally set a `startDate` to limit results to recent activity.
> **Billing:** Charged per matched signal per result via the `showSignalsContact` action.
> **Persisting to a table:** Pass `tableId` to also add these contacts to an existing table and populate the Signals column. See [Contacts Tables](#tag/Contacts-Tables).
'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/V3ContactSignalsRequest'
example:
ids:
- '4389064624'
- '4389064654'
signalTypes:
- allSignals
startDate: '2025-01-01'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/V3ContactSignalsResponse'
example:
results:
- id: '115889'
companyChange:
- id: '115889'
signalDate: '2025-02-01'
previousCompany: ZoomInfo
newCompany: Lusha
promotion: []
startDate: '2025-01-01'
endDate: '2025-03-01'
billing:
creditsCharged: 1
resultsReturned: 1
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
/v3/companies/signals:
post:
tags:
- Signals
summary: Company Signals
operationId: getCompanySignals
description: 'Retrieve signal events for a list of companies — hiring activity, headcount changes, web traffic, IT spend, and news.
Pass up to 100 company `ids`. Use `signalTypes` to specify which signals to return (or use `allSignals`). Optionally set a `startDate` to limit results to recent activity.
> **Billing:** Charged per matched signal per result via the `showSignalsCompany` action.
> **Persisting to a table:** Pass `tableId` to also add these companies to an existing table and populate the Signals column. See [Companies Tables](#tag/Companies-Tables).
'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/V3CompanySignalsRequest'
example:
ids:
- '16303253'
signalTypes:
- allSignals
startDate: '2025-01-01'
maxResultsPerSignal: 10
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/V3CompanySignalsResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
/v3/contacts/signals/types:
get:
tags:
- Signals
summary: Get Contact Signal Types
operationId: getContactSignalTypes
description: 'Returns the full list of supported signal types for contacts.
'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/ContactSignalTypesResponse'
example:
signalTypes:
- allSignals
- promotion
- companyChange
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/v3/companies/signals/types:
get:
tags:
- Signals
summary: Get Company Signal Types
operationId: getCompanySignalTypes
description: 'Returns the full list of supported signal types for companies.
'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/CompanySignalTypesResponse'
example:
signalTypes:
- allSignals
- linkedinActivityIntent
- websiteTrafficDecrease
- websiteTrafficIncrease
- itSpendIncrease
- itSpendDecrease
- surgeInHiring
- headcountIncrease1m
- headcountIncrease3m
- headcountIncrease6m
- headcountIncrease12m
- headcountDecrease1m
- headcountDecrease3m
- headcountDecrease6m
- headcountDecrease12m
- surgeInHiringByDepartment
- surgeInHiringByLocation
- riskNews
- commercialActivityNews
- corporateStrategyNews
- financialEventsNews
- peopleNews
- marketIntelligenceNews
- productActivityNews
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/v3/companies/signals/filters:
get:
tags:
- Signals
summary: Get Company Signal Filters (Discovery)
operationId: getCompanySignalFilters
description: 'Returns all available filter types for company signals and whether each requires a search query.
'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/FilterTypesDiscoveryResponse'
example:
availableFilters:
- filterType: newsEventTypes
requiresQuery: false
- filterType: hiringByDepartments
requiresQuery: false
- filterType: hiringByLocations
requiresQuery: true
- filterType: intentCategories
requiresQuery: false
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/v3/companies/signals/filters/{filterType}:
get:
tags:
- Signals
summary: Get Company Signal Filter Values
operationId: getCompanySignalFilterValues
description: 'Returns valid values for a single company signal filter type.
| Filter type | Query required? |
|---|---|
| `newsEventTypes` | No |
| `hiringByDepartments` | No |
| `hiringByLocations` | Yes (2-256 chars) |
| `intentCategories` | No — the `query` parameter is not supported for this filter type; passing one returns `400` |
'
parameters:
- name: filterType
in: path
required: true
schema:
type: string
enum:
- newsEventTypes
- hiringByDepartments
- hiringByLocations
- intentCategories
- name: query
in: query
required: false
schema:
type: string
minLength: 2
maxLength: 256
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/FilterValuesResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/v3/companies/signal-score:
post:
tags:
- Signals
summary: Score Companies by Signal Activity
operationId: getCompanySignalScores
description: 'Score companies by their active buying signals. Returns the aggregate Signal Score - a `[0, 1]` value reflecting the fraction of the company''s active signals - plus the active signal breakdown.
Accepts up to 100 companies, each identified by exactly one of `id`, `domain`, `name`, or `email`. All identifiers are resolved to Lusha company IDs server-side before scoring.
Each result is one of:
- A **scored entry** - `signalScore`, `signalTypes`, and `noActiveSignals`.
- A **`NOT_FOUND`** entry - the company service could not resolve the supplied identifier.
- A **`NO_SCORE`** entry - the company resolved, but the scoring engine returned nothing for it.
> **Billing:** 1 credit is charged per scored row via `signal_score_company_reveal`. This action is currently limited-availability - while it isn''t yet seeded on an account''s pricebook, the endpoint stays free (`billing.creditsCharged` is `0`). Error rows (`NOT_FOUND` / `NO_SCORE`) are never charged.
'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/V3SignalScoreCompaniesRequest'
example:
companies:
- clientReferenceId: ref-1
id: v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345
- clientReferenceId: ref-2
domain: www.microsoft.com
- clientReferenceId: ref-3
name: Apple
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/V3SignalScoreCompaniesResponse'
example:
requestId: 5d6f13d2-f6b0-4e55-85d5-04e17f932c1a
results:
- clientReferenceId: ref-1
id: v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345
name: Acme Corp
domain: www.acmecorp.io
signalScore: 0.42
signalTypes:
- hiringSignalIncrease
- websiteVisit
noActiveSignals: false
- clientReferenceId: ref-2
id: v1.6789ZyXwVuTsRqPoNmLkJiHgFeDcBa01
name: Microsoft
domain: www.microsoft.com
signalScore: 0
signalTypes: []
noActiveSignals: true
- clientReferenceId: ref-3
domain: nope-xyz.com
error:
code: NOT_FOUND
message: Company not found
billing:
creditsCharged: 2
resultsReturned: 2
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
/v3/contacts/signal-score:
post:
tags:
- Signals
summary: Score Contacts by Signal Activity
operationId: getContactSignalScores
description: 'Score contacts by their active buying signals. Returns the aggregate Signal Score - a `[0, 1]` value - plus the active signal breakdown per contact.
Accepts up to 100 contacts. Each contact is resolved to a Lusha person ID and company ID server-side (identity only - no PII is revealed) before scoring. Provide one of:
- `id` (encrypted Lusha contact ID)
- `linkedinUrl`
- `email`
- `firstName` + `lastName` + (`companyName` or `companyDomain`)
Each result is one of:
- A **scored entry** - `signalScore`, `signalTypes`, and `noActiveSignals`.
- A **`NOT_FOUND`** entry - identity resolution failed for the supplied identifier.
- A **`NO_SCORE`** entry - the contact resolved, but the scoring engine returned nothing for it.
> **Note:** A full outage of the identity-resolution provider is never masked as `NOT_FOUND` - it returns a retryable `502` instead, so callers can retry rather than treating the batch as authoritatively unresolved.
> **Billing:** 1 credit is charged per scored row via `signal_score_contact_reveal`. This action is currently limited-availability - while it isn''t yet seeded on an account''s pricebook, the endpoint stays free (`billing.creditsCharged` is `0`). Error rows (`NOT_FOUND` / `NO_SCORE`) are never charged.
'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/V3SignalScoreContactsRequest'
example:
contacts:
- clientReferenceId: ref-1
id: v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345
- clientReferenceId: ref-2
linkedinUrl: https://linkedin.com/in/johndoe
- clientReferenceId: ref-3
firstName: Jane
lastName: Doe
companyDomain: acme.com
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/V3SignalScoreContactsResponse'
example:
requestId: 5d6f13d2-f6b0-4e55-85d5-04e17f932c1a
results:
- clientReferenceId: ref-1
id: v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345
fullName: Jane Doe
company:
id: v1.6789ZyXwVuTsRqPoNmLkJiHgFeDcBa01
name: Acme Corp
domain: acme.com
signalScore: 0.3
signalTypes:
- promotion
noActiveSignals: false
- clientReferenceId: ref-2
error:
code: NOT_FOUND
message: Contact not found
billing:
creditsCharged: 1
resultsReturned: 1
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
'502':
$ref: '#/components/responses/BadGateway'
components:
schemas:
LinkedinActivityIntentCompanyMention:
type: object
description: A company referenced in a LinkedIn activity intent post.
properties:
id:
type:
- string
- 'null'
description: Lusha company ID, or null if the company couldn't be resolved to a Lusha record.
example: '16303253'
name:
type: string
example: Lusha
linkedinUrl:
type: string
example: https://www.linkedin.com/company/lushadata
LinkedinActivityIntentItem:
type: object
properties:
companyId:
type: number
description: Lusha company ID this activity belongs to.
example: 16303253
activityPublicationDate:
type: string
format: date
description: Date the post was published.
example: '2026-05-12'
signalCategory:
type: string
description: Post classification.
example: Technology or Stack Discussion
intentTopics:
type: array
description: Detected Bombora topics and their category.
items:
$ref: '#/components/schemas/LinkedinActivityIntentTopic'
author:
$ref: '#/components/schemas/LinkedinActivityIntentPerson'
contactsMentioned:
type: array
items:
$ref: '#/components/schemas/LinkedinActivityIntentPerson'
companiesMentioned:
type: array
items:
$ref: '#/components/schemas/LinkedinActivityIntentCompanyMention'
activityUrl:
type: string
description: URL of the source post.
example: https://www.linkedin.com/feed/update/urn:li:activity:1234567890
activitySummary:
type:
- string
- 'null'
description: AI-generated summary. Never contains the raw post text.
example: Discusses adopting a new cloud security stack ahead of Q3 rollout.
activityLikes:
type: integer
default: 0
example: 42
activityComments:
type: integer
default: 0
example: 5
activityShares:
type: integer
default: 0
example: 3
activityType:
type: string
example: post
V3ContactSignalsRequest:
type: object
required:
- ids
- signalTypes
properties:
ids:
type: array
items:
type: string
minItems: 1
maxItems: 100
example:
- '4389064624'
- '4389064654'
signalTypes:
type: array
items:
type: string
enum:
- allSignals
- promotion
- companyChange
example:
- allSignals
startDate:
type: string
format: date
example: '2025-01-01'
maxResultsPerSignal:
type: integer
minimum: 1
maximum: 100
example: 10
tableId:
type: string
description: Optional. If provided, these contacts are also added to this table (if not already present) and the Signals column is populated. See the Tables API.
example: '482910'
V3CompanySignalsResponse:
type: object
properties:
results:
type: array
items:
type: object
properties:
id:
type: string
example: '16303253'
companyName:
type: string
example: Lusha
domain:
type: string
example: lusha.com
linkedinActivityIntent:
type: array
items:
$ref: '#/components/schemas/LinkedinActivityIntentItem'
additionalProperties:
type: array
items:
type: object
additionalProperties: true
startDate:
type: string
endDate:
type: string
tableWrite:
$ref: '#/components/schemas/TableWrite'
billing:
$ref: '#/components/schemas/V3Billing'
V3CompanySignalsRequest:
type: object
required:
- ids
- signalTypes
properties:
ids:
type: array
items:
type: string
minItems: 1
maxItems: 100
example:
- '16303253'
signalTypes:
type: array
items:
type: string
enum:
- allSignals
- linkedinActivityIntent
- websiteTrafficDecrease
- websiteTrafficIncrease
- itSpendIncrease
- itSpendDecrease
- surgeInHiring
- headcountIncrease1m
- headcountIncrease3m
- headcountIncrease6m
- headcountIncrease12m
- headcountDecrease1m
- headcountDecrease3m
- headcountDecrease6m
- headcountDecrease12m
- surgeInHiringByDepartment
- surgeInHiringByLocation
- riskNews
- commercialActivityNews
- corporateStrategyNews
- financialEventsNews
- peopleNews
- marketIntelligenceNews
- productActivityNews
example:
- allSignals
startDate:
type: string
format: date
description: 'For linkedinActivityIntent, results are limited to a trailing 90-day window regardless of the value passed (legal requirement). Other signal types are unaffected.
'
example: '2025-01-01'
maxResultsPerSignal:
type: integer
minimum: 1
maximum: 100
description: 'For linkedinActivityIntent, results are capped at 50 per company regardless of the value passed. Other signal types use the requested value as-is (1-100).
'
example: 10
tableId:
type: string
description: Optional. If provided, these companies are also added to this table (if not already present) and the Signals column is populated. See the Tables API.
example: '583021'
filters:
type: object
properties:
include:
type: object
properties:
intentCategories:
type: array
items:
type: string
description: 'Refines linkedinActivityIntent results by Bombora intent category. Only applies when linkedinActivityIntent is requested (via signalTypes or allSignals). See GET /v3/companies/signals/filters/intentCategories for valid values.
'
example:
- Technology
- Business
V3Billing:
type: object
description: Credit usage summary for a V3 API request
properties:
creditsCharged:
type: integer
description: Total credits charged for this request
example: 3
resultsReturned:
type: integer
description: Number of successful results returned
example: 1
V3SignalScoreCompaniesRequest:
type: object
required:
- companies
properties:
companies:
type: array
items:
$ref: '#/components/schemas/V3SignalScoreCompanyItem'
minItems: 1
maxItems: 100
TableWrite:
type: object
description: 'Added to a Prospecting, Enrich, Signals, or Lookalike response when `tableId` is passed on the request. The primary response is unaffected even if the table write fails.
'
properties:
tableId:
type: string
example: '482910'
added:
type: integer
description: Number of new entities added to the table by this call.
example: 3
alreadyPresent:
type: integer
description: Number of entities from this call that were already in the table.
example: 2
columnsCreated:
type: integer
description: Number of columns auto-created by this call (e.g. a Signals column created on first use).
example: 0
rowsProcessed:
type: integer
description: Number of rows the column-run touched as part of this call.
example: 5
rowsCharged:
type: integer
description: Number of those rows that incurred a credit charge.
example: 5
rowsAlreadyPaidInTable:
type: integer
description: Number of those rows that were already paid for i
# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lusha/refs/heads/main/openapi/lusha-signals-api-openapi.yml