addedInput schema / properties / allow_unlisted_values
Added value: +{
+ "description": "Escape hatch. This server checks industry / seniority / headcount / company-type values against the LinkedIn vocabularies before sending, because the API silently returns 0 results for an unknown industry or seniority instead of rejecting it. Set true only when you are sure a value is valid and this server is out of date.",
+ "type": "boolean"
+}
addedInput schema / properties / changed_jobs
Added value: +{
+ "description": "Only leads who recently changed jobs — realtime only: using it forces the pricier live mode.",
+ "type": "boolean"
+}
changedInput schema / properties / compact / description
Previous value: -"Return compact summary instead of full JSON"New value: +"Default true: return a small per-lead summary (including the Generect `id`, which every later step accepts). Set false for the full raw record (~80 fields) — only worth it when you specifically need skills, education or other deep fields."
addedInput schema / properties / company_filters
Added value: +{
+ "additionalProperties": false,
+ "description": "Optional: only return leads at companies matching these filters (two-level ICP).",
+ "properties": {
+ "allow_unlisted_values": {
+ "description": "Escape hatch for the local vocabulary check — see the lead-side field of the same name.",
+ "type": "boolean"
+ },
+ "company_names": {
+ "description": "Restrict to specific company names — realtime only: using it forces the pricier live mode.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "company_types": {
+ "description": "Company types: \"Public Company\",\"Privately Held\",\"Non Profit\",\"Government Agency\",\"Educational\", …",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "department_headcount": {
+ "additionalProperties": false,
+ "description": "Department size, e.g. {\"name\":\"engineering\",\"min\":10,\"max\":100} — realtime only: using it forces the pricier live mode.",
+ "properties": {
+ "max": {
+ "type": "number"
+ },
+ "min": {
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "type": "object"
+ },
+ "exclude_domains": {
+ "description": "Exclude companies by domain (e.g. existing customers).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "exclude_ids": {
+ "description": "Exclude companies by LinkedIn id/URN.",
+ "items": {
+ "type": [
+ "string",
+ "number"
+ ]
+ },
+ "type": "array"
+ },
+ "exclude_industries": {
+ "description": "Industries to exclude.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "exclude_locations": {
+ "description": "HQ locations to exclude.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "headcount_growth": {
+ "additionalProperties": false,
+ "description": "Headcount growth in percent — realtime only: using it forces the pricier live mode.",
+ "properties": {
+ "max": {
+ "type": "number"
+ },
+ "min": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "headcounts": {
+ "description": "Size buckets. Allowed ONLY: \"1-10\",\"11-50\",\"51-200\",\"201-500\",\"501-1000\",\"1001-5000\",\"5001-10000\",\"10 000+\".",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "hiring_on_linkedin": {
+ "description": "Only companies actively hiring — realtime only: using it forces the pricier live mode.",
+ "type": "boolean"
+ },
+ "industries": {
+ "description": "Company industries. Must match Generect industry names exactly (e.g. \"Software Development\"); unknown names are rejected with HTTP 400.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "keywords": {
+ "description": "Free-text keywords across name/description/specialties — realtime only: using it forces the pricier live mode.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "linkedins_links": {
+ "description": "Specific LinkedIn company URLs — realtime only: using it forces the pricier live mode.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "locations": {
+ "description": "HQ locations — cities, states or countries.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "num_of_followers": {
+ "description": "LinkedIn follower buckets: \"1-50\",\"51-100\",\"101-1000\",\"1001-5000\",\"5001+\" — realtime only: using it forces the pricier live mode.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "revenues_range": {
+ "additionalProperties": false,
+ "description": "Annual revenue range, single object {min,max} — realtime only: using it forces the pricier live mode.",
+ "properties": {
+ "max": {
+ "type": "number"
+ },
+ "min": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "min",
+ "max"
+ ],
+ "type": "object"
+ },
+ "sub_industries": {
+ "description": "Expand each selected industry to its sub-industries as well (broadens the match).",
+ "type": "boolean"
+ },
+ "technologies": {
+ "description": "Technologies the company uses — realtime only: using it forces the pricier live mode.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+}
addedInput schema / properties / company_headcounts
Added value: +{
+ "description": "Employer size buckets. Allowed ONLY: \"1-10\",\"11-50\",\"51-200\",\"201-500\",\"501-1000\",\"1001-5000\",\"5001-10000\",\"10 000+\" (note the space in \"10 000+\").",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
changedInput schema / properties / company_id / description
Previous value: -"LinkedIn company id"New value: +"Anchor to one company by LinkedIn numeric id."
changedInput schema / properties / company_id / type
Previous value: -"string"New value: +[
+ "string",
+ "number"
+]
addedInput schema / properties / company_industries
Added value: +{
+ "description": "Industry of the current employer. Must match Generect industry names exactly (e.g. \"Software Development\", \"Financial Services\"); names are hierarchical and unknown names are rejected with HTTP 400 naming the field.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
changedInput schema / properties / company_link / description
Previous value: -"LinkedIn company URL"New value: +"Anchor to one company by LinkedIn URL."
addedInput schema / properties / company_locations
Added value: +{
+ "description": "HQ location of the lead's current employer.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
changedInput schema / properties / company_name / description
Previous value: -"Company name"New value: +"Anchor to one company by name (exclusive with company_link/company_id)."
addedInput schema / properties / company_types
Added value: +{
+ "description": "Employer types: \"Public Company\",\"Privately Held\",\"Non Profit\",\"Government Agency\",\"Educational\",\"Self Employed\",\"Self Owned\",\"Partnership\".",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedInput schema / properties / confirm_spend_usd
Added value: +{
+ "description": "Explicit approval for an unusually large charge. Calls whose worst case exceeds $5 are refused unless this is set to at least the amount the tool reports. Only set it after the user has agreed to that number.",
+ "type": "number"
+}
addedInput schema / properties / exclude_company_headcounts
Added value: +{
+ "description": "Employer size buckets to exclude.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedInput schema / properties / exclude_company_industries
Added value: +{
+ "description": "Employer industries to exclude.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedInput schema / properties / exclude_company_locations
Added value: +{
+ "description": "Employer HQ locations to exclude.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedInput schema / properties / exclude_ids
Added value: +{
+ "description": "Skip leads by Generect/Sales-Navigator id. Pass the ids you already received to paginate without duplicates — ordering is not stable, so this is more reliable than offset.",
+ "items": {
+ "type": [
+ "string",
+ "number"
+ ]
+ },
+ "type": "array"
+}
addedInput schema / properties / exclude_locations
Added value: +{
+ "description": "Lead locations to exclude.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedInput schema / properties / exclude_names
Added value: +{
+ "description": "Skip leads by full name. KNOWN ISSUE: in database mode any non-empty value collapses the result set to 0 (verified 2026-08-09); it behaves correctly in realtime mode. Prefer exclude_ids, or filter names out yourself after the search.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedInput schema / properties / exclude_title_keywords
Added value: +{
+ "description": "DEPRECATED — accepted but ignored. No v1 equivalent. Narrow job_titles instead, or filter the returned rows yourself."
+}
addedInput schema / properties / filter_empty_vars
Added value: +{
+ "description": "Drop leads where these fields are empty, e.g. [\"profile_photo\",\"job_started_on\"]. Useful to raise data quality before paying.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedInput schema / properties / functions
Added value: +{
+ "description": "Job functions, e.g. [\"Sales\",\"Marketing\",\"Engineering\"] — realtime only: using it forces the pricier live mode.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedInput schema / properties / get_max_leads
Added value: +{
+ "description": "DEPRECATED — accepted but ignored. Always on now: search responses include results_count without asking."
+}
changedInput schema / properties / job_title / description
Previous value: -"Job title filter (e.g., CEO, CTO, Engineer)"New value: +"DEPRECATED alias for job_titles. Still honoured: it is merged into job_titles."
addedInput schema / properties / job_titles
Added value: +{
+ "description": "Target job titles, OR-matched (e.g. [\"CEO\",\"Founder\",\"Owner\"]). A lead needs to match only one.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedInput schema / properties / keywords
Added value: +{
+ "description": "Free-text keywords across headline/summary/skills — realtime only: using it forces the pricier live mode.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
changedInput schema / properties / lead_industries / description
Previous value: -"Industry filter (e.g., Technology, Healthcare)"New value: +"DEPRECATED — accepted but ignored. Removed: v1 filters on the employer's industry. Use company_industries."
removedInput schema / properties / lead_industries / items
Removed value: -{
- "type": "string"
-}
removedInput schema / properties / lead_industries / type
Removed value: -"array"
addedInput schema / properties / limit
Added value: +{
+ "description": "Alias for limit_by.",
+ "type": "number"
+}
changedInput schema / properties / limit_by / description
Previous value: -"Number of results to return"New value: +"Rows to return this call (1–100, default 25). You are billed per returned row, so this number IS the price of the call."
addedInput schema / properties / linkedin_filter_link
Added value: +{
+ "description": "A LinkedIn / Sales Navigator search URL to lift filters from — realtime only: using it forces the pricier live mode.",
+ "type": "string"
+}
changedInput schema / properties / locations / description
Previous value: -"Location filter (e.g., San Francisco, New York)"New value: +"Where the lead lives — matches cities, states and countries, e.g. [\"United States\",\"Berlin\"]."
addedInput schema / properties / mode
Added value: +{
+ "description": "Data mode. \"database\" = cached, sub-second, cheaper, free counts, core filters only. \"realtime\" = live LinkedIn lookup, 5–60s, pricier, supports every filter. \"auto\" (default) tries database first and only escalates to realtime if a filter you passed is unsupported there — an escalation is reported in the response. Pick \"database\" explicitly when freshness is not critical and cost matters more than freshness.",
+ "enum": [
+ "auto",
+ "database",
+ "realtime"
+ ],
+ "type": "string"
+}
addedInput schema / properties / offset
Added value: +{
+ "description": "Alias for offset_by.",
+ "type": "number"
+}
changedInput schema / properties / offset_by / description
Previous value: -"Offset for pagination"New value: +"Rows to skip (pagination)."
addedInput schema / properties / past_company_names
Added value: +{
+ "description": "Companies the lead previously worked at (alumni targeting) — realtime only: using it forces the pricier live mode.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedInput schema / properties / personas
Added value: +{
+ "description": "Advanced raw persona tuples [name, functions, seniorities, prohibits, priority?] — realtime only: using it forces the pricier live mode.",
+ "type": "array"
+}
addedInput schema / properties / posted_on_linkedin
Added value: +{
+ "description": "Only leads who recently posted on LinkedIn — realtime only: using it forces the pricier live mode.",
+ "type": "boolean"
+}
addedInput schema / properties / seniorities
Added value: +{
+ "description": "Seniority at the current employer, e.g. [\"Owner\",\"CXO\",\"VP\",\"Director\",\"Manager\"]. Current position only.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedInput schema / properties / strict
Added value: +{
+ "description": "Fields to match strictly, e.g. [\"company_locations\"].",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
changedInput schema / properties / timeout_ms / description
Previous value: -"Request timeout in milliseconds"New value: +"Request timeout in milliseconds."
changedInput schema / properties / without_company / description
Previous value: -"Search leads without filrest by companies"New value: +"DEPRECATED — accepted but ignored. No longer needed — v1 filter-only search is the default when no company anchor is set."
removedInput schema / properties / without_company / type
Removed value: -"boolean"
addedInput schema / properties / years_in_company
Added value: +{
+ "description": "Time at current company, same buckets as years_in_position — realtime only: using it forces the pricier live mode.",
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
+}
addedInput schema / properties / years_in_position
Added value: +{
+ "description": "Time in current role: 1=<1y, 2=1-2y, 3=3-5y, 4=6-10y, 5=10y+ — realtime only: using it forces the pricier live mode.",
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
+}
changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "additionalProperties": false,
+ "properties": {
+ "api_returned_more_than_requested": {
+ "type": "number"
+ },
+ "blocked_by_vocabulary": {
+ "$ref": "#/properties/vocabulary_warnings"
+ },
+ "companies": {
+ "type": "array"
+ },
+ "cost": {
+ "additionalProperties": false,
+ "properties": {
+ "amount_charged_usd": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "billed": {
+ "type": "string"
+ },
+ "note": {
+ "type": "string"
+ },
+ "operation": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "deprecated_params_ignored": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "escalated_to_realtime_because": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "escalation_note": {
+ "type": "string"
+ },
+ "fix": {
+ "type": "string"
+ },
+ "leads": {
+ "type": "array"
+ },
+ "mode": {
+ "type": "string"
+ },
+ "next_page_args": {},
+ "note": {
+ "type": "string"
+ },
+ "requested_rows": {
+ "type": "number"
+ },
+ "results_count": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "returned": {
+ "type": "number"
+ },
+ "spend_guard": {},
+ "status": {
+ "type": "string"
+ },
+ "test_mode": {
+ "type": "boolean"
+ },
+ "test_mode_notice": {
+ "type": "string"
+ },
+ "vocabulary_warnings": {
+ "type": "array"
+ }
+ },
+ "type": "object"
+}