---
title: "Preview matching leads"
method: POST
path: "/find-leads/preview/"
tags: ["find-leads"]
---

# Preview matching leads

`POST /find-leads/preview/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/find-leads/preview/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Fetch a preview of at most five of the leads matching a set of filters. The answer is the column plan the table would have plus, for each sample lead, the values of the revealed columns only: a person's name, job title and company, or a company's name. Every other value, email included, stays on the server until the search becomes a table. Unlike counting, retrieving leads is billable upstream, so previews are explicit, never automatic, and capped far below a search. Search types whose rows cost credits offer no preview at all and answer 422: ask `GET /find-leads/columns/` for `preview_supported` before showing the button. The answer also names a table the same search built before, when one still exists.

## Request body

- LeadSearchRequestSchema: A search request. Every query shape is accepted on every request and the record type picks which one is read, so the client can keep a draft of each while the user moves between the search types without losing what they typed. Each field is named exactly for the record type that reads it. A stored search is re-run by rebuilding the request as ``{"record_type": rt, rt: query}``, which only holds while that stays true.
  - `backlinks` BacklinksQuerySchema: The sites linking to a domain or a page. Name the target and get one row per referring site by default, sorted by the rank the link passes. Every attribute of a backlink the index can filter on is here, in four groups: the referring site, the referring page, the link itself, and the page it points at. The index takes at most eight filter conditions in one search, counting every value of every list as one; a ninth is refused rather than dropped.
    - `alt_texts` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `anchors` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `backlink_rank` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `dofollow` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `domain_rank` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `exclude_internal` boolean: Whether links from the target's own subdomains are left out.
    - `first_seen_after` string, nullable: Only links first found on or after this day, as YYYY-MM-DD.
    - `first_seen_before` string, nullable: Only links first found on or before this day, as YYYY-MM-DD.
    - `group_count` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `image_urls` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `include_subdomains` boolean: Whether links to the target's subdomains count.
    - `indirect_path_types` string[]: How an indirect link reaches the target: redirect or canonical. Any of them.
    - `is_broken` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `is_indirect` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `is_lost` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `is_new` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `last_seen_after` string, nullable: Only links last seen on or after this day, as YYYY-MM-DD.
    - `last_seen_before` string, nullable: Only links last seen on or before this day, as YYYY-MM-DD.
    - `link_types` BacklinkLinkTypesFilterSchema: Which kinds of link to include or exclude, from the index's own six.
      - `exclude` string[]
      - `include` string[]
    - `linked_domains` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `linked_spam_score` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `linked_status_code` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `linked_url_https` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `linked_urls` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `links_count` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `mode` 'as_is' | 'one_per_domain' | 'one_per_anchor': What one row of a backlink search is. ``one_per_domain`` is the default and the lead-shaped answer: a table of referring sites is a table of companies, each with a domain to enrich. ``as_is`` is every backlink, several per site; ``one_per_anchor`` keeps one per anchor text, which is a content question rather than a lead one. The vendor's own default is ``as_is``; ours is not, because a table where the same site appears forty times is not a table of leads.
    - `original` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `page_encodings` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `page_external_links` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `page_internal_links` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `page_keywords_top_10` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `page_keywords_top_100` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `page_keywords_top_3` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `page_languages` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `page_rank` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `page_size_bytes` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `page_status_code` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `page_titles` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `per_field` 'domain_from' | 'anchor' | 'url_from' | 'tld_from' | 'domain_from_country' | 'page_from_language' | 'item_type' | 'semantic_location' | 'url_to' | 'domain_to': The attribute a backlink search may keep a fixed number of rows per. The vendor's ``custom_mode`` takes a RESULT field name and a count, and overrides ``mode`` when set: "two backlinks per referring domain" is the shape ``one_per_domain`` cannot express. Only the first two values were probed live (2026-09-20: ``domain_from`` and ``anchor`` both answered, ``domain`` was refused by name); the rest are the other string fields of a row, offered because the vendor names no vocabulary and refuses a stranger with a 40501 the transport pins to this control.
    - `per_field_limit` integer, nullable: How many links to keep per value of per_field.
    - `prev_seen_after` string, nullable: Only links whose visit before last was on or after this day, as YYYY-MM-DD.
    - `prev_seen_before` string, nullable: Only links whose visit before last was on or before this day, as YYYY-MM-DD.
    - `rank_scale` 'one_hundred' | 'one_thousand': The scale the three rank figures are reported and filtered on. ``one_hundred`` is our default and not the vendor's (``one_thousand``): a rank out of 100 is what every other backlink tool prints, and a filter typed as "domain rank 30 and up" means 30 out of 100 to whoever types it. The scale applies to the filters as well as the rows, so a stored search keeps the scale it was written on.
    - `redirect_targets` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `referring_countries` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `referring_domain_is_ip` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `referring_domains` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `referring_ips` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `referring_platform_types` string[]: Kinds of referring site to keep, any of them: cms, blogs, ecommerce, message-boards, wikis, news, organization or unknown. There is no exclude.
    - `referring_tlds` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `referring_url_https` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `referring_urls` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `semantic_locations` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `sort_by` 'backlink_rank' | 'domain_rank' | 'page_rank' | 'spam_score' | 'first_seen' | 'last_seen' | 'prev_seen' | 'links_count' | 'group_count' | 'page_external_links' | 'page_internal_links' | 'page_size_bytes' | 'page_keywords_top_3' | 'page_keywords_top_10' | 'page_keywords_top_100' | 'linked_spam_score': The attribute a backlink search orders its rows by, in our words. Every member is a whole-number or a date on the row: the ones an order means something for. The transport maps each to the vendor's field and sends it as ``order_by`` with the query's direction, by backlink rank descending unless the query says otherwise, so the rows an import keeps are the top of an order the reader chose (``ROW_ORDER_BY_RECORD_TYPE``).
    - `sort_descending` boolean: Highest or latest first.
    - `spam_score` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `status` 'all' | 'live' | 'lost': Which backlinks a search returns and counts: still live, lost, or both.
    - `target` string, nullable: The site whose backlinks to find: a domain or subdomain written bare (acme.com, blog.acme.com), or a page as its whole URL. Required; nothing else can anchor a backlink search.
    - `text_after` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
    - `text_before` BacklinkValuesFilterSchema: A text filter over backlink rows, capped at eight values each way.
      - `exclude` string[]
      - `include` string[]
  - `companies` CompanyQuerySchema: Filters for a company search.
    - `category` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `cities` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `company_type` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `countries` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `department_headcount` TeamHeadcountFilterSchema: How many of a company's employees sit in one team, as a min/max band.
      - `gte` integer, nullable
      - `lte` integer, nullable
      - `team` string: The department or seniority to count, spelled the way the people search spells it: Sales, Engineering and Technical, Director.
    - `domain` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `enriched_keywords` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `exclude_expired_domains` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `executive_joined_within` 'past_month' | 'past_quarter' | 'past_year': How recently an executive joined or left a company, as a company search asks it. No week: the index dates a leadership change to the month.
    - `executive_left_within` 'past_month' | 'past_quarter' | 'past_year': How recently an executive joined or left a company, as a company search asks it. No week: the index dates a leadership change to the month.
    - `executive_titles` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `followers` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `founded` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `funding_round_types` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `funding_rounds_count` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `has_api_docs` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `has_demo` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `has_free_trial` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `has_mobile_apps` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `has_online_reviews` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `has_pricing_page` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `has_website` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `headcount` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `headcount_growth` GrowthFilterSchema: Headcount growth over a chosen window, as a min/max percentage band.
      - `max_percent` integer, nullable
      - `min_percent` integer, nullable
      - `timespan` '1month' | '3months' | '6months' | '12months' | '24months': The window a headcount-growth percentage is measured over. The company index measures the last month, quarter and year (added 2026-09-16 for the first two); six and twenty-four months were the lead database's windows and are refused by name on a company search.
    - `identifier` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `industry` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `is_b2b` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `is_downloadable` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `is_saas` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `keyword` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `last_funding_after` string, nullable: Only companies whose last round closed on or after this day, as YYYY-MM-DD.
    - `last_funding_amount` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `last_funding_before` string, nullable: Only companies whose last round closed on or before this day, as YYYY-MM-DD.
    - `linkedin_id` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `linkedin_slug` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `location` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `name` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `office_cities` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `office_countries` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `office_states` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `post_keyword` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `post_reactions` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `posted_within` 'past_week' | 'past_month' | 'past_quarter' | 'past_year': How recently a company posted on the professional network, as a company search asks it.
    - `revenue` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `seniority_headcount` TeamHeadcountFilterSchema: How many of a company's employees sit in one team, as a min/max band.
      - `gte` integer, nullable
      - `lte` integer, nullable
      - `team` string: The department or seniority to count, spelled the way the people search spells it: Sales, Engineering and Technical, Director.
    - `size_bands` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `social_networks` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `specialities` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `states` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `technologies` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `technology_first_seen_after` string, nullable: Only count a technology FIRST seen on or after this day, as YYYY-MM-DD.
    - `technology_verified_after` string, nullable: Only count a technology still seen on or after this day, as YYYY-MM-DD.
    - `unique_domain_only` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
  - `hiring_companies` HiringCompaniesQuerySchema: Filters for a search for companies with open roles matching a job title. The rows are companies, one per employer, each carrying every open posting the search read for it. The count is of open postings, since the companies are folded from them once they are read.
    - `cities` string[]: Cities the roles are based in. Up to 20.
    - `company_domains` string[]: Only roles at these employers, by website domain. Up to 100.
    - `company_funded_after` string, nullable: Only employers whose last round closed on or after this day, as YYYY-MM-DD.
    - `company_funding_amount` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `company_funding_round_types` string[]: The type of the employer's last funding round, for example Seed or Series A.
    - `company_technologies` string[]: Only employers whose website runs one of these technologies, for example HubSpot. Up to 20.
    - `countries` string[]: Countries the roles are based in, by full name the way a posting spells it: United States, not US. Up to 20.
    - `departments` string[]: The role's department, from the same list the people search uses, for example Sales or Engineering and Technical. Any other value is refused.
    - `employee_count` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `industries` string[]: Only employers in these industries, each matched as a phrase in the employer's industry name. Up to 25.
    - `job_functions` string[]: The role's job functions, for example Sales, Information Technology or Software Development, each matched as a phrase. Up to 20.
    - `job_title` JobTitleFilterSchema: A phrase filter over job postings, capped at ten phrases each way.
      - `exclude` string[]
      - `include` string[]
    - `keywords` JobTitleFilterSchema: A phrase filter over job postings, capped at ten phrases each way.
      - `exclude` string[]
      - `include` string[]
    - `posted_after` string, nullable: Only postings published on or after this day, as YYYY-MM-DD.
    - `posted_before` string, nullable: Only postings published on or before this day, as YYYY-MM-DD.
    - `seniorities` string[]: The role's seniority, from: Internship, Entry level, Associate, Mid-Senior level, Director, Executive or Not Applicable. Any other value is refused.
    - `states` string[]: States or provinces the roles are based in, written out in full. Up to 20.
  - `local_businesses` LocalBusinessQuerySchema: Filters for a map search over business listings. The one search here that asks "who is within this radius". Name a category, a business name or a website to look for, plus an area to look in for the radius part.
    - `area` GeoFilterSchema: A place to search around: an address, or a point, plus a radius. Send whichever you have. An address is resolved to a point server-side, against Google Maps data, which any surface displaying the results must credit to "Google Maps". An address that resolves to nothing is refused rather than dropped, so a search is never quietly run over the whole world.
      - `address` string, nullable: A street address, neighbourhood, postcode or city.
      - `latitude` number, nullable
      - `longitude` number, nullable
      - `radius_km` number, nullable: How far around the point to search, in whole KILOMETRES, at least 1. The data source takes an integer radius (its minimum is 1) and a fraction is rounded to the nearest kilometre.
    - `categories` string[]: Business categories to include, in the data source's own vocabulary.
    - `description` string, nullable: Words in the business description.
    - `domain` string, nullable: Only the listing on this domain.
    - `has_phone` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `has_website` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `is_claimed` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `name` string, nullable: Words in the business name.
    - `price_level` string[]: Price bands to include: inexpensive, moderate, expensive or very_expensive.
    - `rating` DecimalRangeFilterSchema: An inclusive fractional range; either bound may be omitted. Separate from ``RangeFilterSchema`` rather than loosening it: the whole- number filters here count people, employees and reviews, and letting a fraction into one of those would generate a client type that says a headcount can be 4.5.
      - `gte` number, nullable
      - `lte` number, nullable
    - `review_count` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
  - `lookalikes` LookalikeQuerySchema: Filters for a search for companies resembling a set of seed companies.
    - `match` 'broad' | 'balanced' | 'exact': How close a similarity search has to be: one choice that tunes two knobs. The two knobs used to be typed as numbers, a ranking weight from -1 to 1 and a score floor from 0 to 1, and both read like every other filter on the page while meaning something no other filter means. Three named levels say what a person actually wants; ``LOOKALIKE_TUNINGS`` says what each one sends and keeps.
    - `seed_domains` string[]: The company domains to find lookalikes of, between 1 and 10. At least one is required, since nothing else can anchor a similarity search.
  - `people` PeopleQuerySchema: Filters for a people search.
    - `active_profile_only` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `certifications` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `cities` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `company_cities` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `company_countries` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `company_founded` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `company_funded_after` string, nullable: Only people whose employer last raised on or after this day, as YYYY-MM-DD.
    - `company_funding_amount` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `company_headcount` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `company_headcount_growth` GrowthFilterSchema: Headcount growth over a chosen window, as a min/max percentage band.
      - `max_percent` integer, nullable
      - `min_percent` integer, nullable
      - `timespan` '1month' | '3months' | '6months' | '12months' | '24months': The window a headcount-growth percentage is measured over. The company index measures the last month, quarter and year (added 2026-09-16 for the first two); six and twenty-four months were the lead database's windows and are refused by name on a company search.
    - `company_headcount_growth_percent` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `company_identifier` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `company_industry` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `company_is_b2b` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `company_keyword` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `company_location` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `company_name` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `company_revenue` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `company_size_bands` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `company_states` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `company_table` CompanyTableFilterSchema: The companies a search follows from a table, and the ones it leaves out.
      - `exclude` CompanyTableLinkSchema: One column of one of your tables, read as a list of companies.
        - `column_id` string, uuid, required: The column with each company's website, web address, LinkedIn company page or numeric LinkedIn id. A column of company names matches no one.
        - `table_id` string, uuid, required: The table holding the companies.
        - `view_id` string, uuid, nullable: A saved view of that table: only the rows its filter keeps are read. Omit it to read every row.
      - `include` CompanyTableLinkSchema: One column of one of your tables, read as a list of companies.
        - `column_id` string, uuid, required: The column with each company's website, web address, LinkedIn company page or numeric LinkedIn id. A column of company names matches no one.
        - `table_id` string, uuid, required: The table holding the companies.
        - `view_id` string, uuid, nullable: A saved view of that table: only the rows its filter keeps are read. Omit it to read every row.
    - `company_type` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `company_website` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `connections` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `countries` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `degree` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `departments` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `first_name` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `followers` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `graduated` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `is_decision_maker` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `is_working` FlagFilterSchema: A yes/no attribute. Omit the whole object, or its value, for "don't care". An object around a single boolean, rather than a bare optional boolean, because the client keeps a draft of every filter as the user moves between modules, and a toggle that has been set to "no" has to survive that trip distinguishably from one that was never touched.
      - `value` boolean, nullable
    - `job_title` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `keyword` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `language_proficiency` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `languages` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `last_name` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `left_company_after` string, nullable: Only people who left a past role on or after this day, as YYYY-MM-DD.
    - `left_company_before` string, nullable: Only people who left a past role on or before this day, as YYYY-MM-DD.
    - `location` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `management_levels` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `past_company_cities` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `past_company_countries` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `past_company_headcount` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `past_company_headcount_growth` GrowthFilterSchema: Headcount growth over a chosen window, as a min/max percentage band.
      - `max_percent` integer, nullable
      - `min_percent` integer, nullable
      - `timespan` '1month' | '3months' | '6months' | '12months' | '24months': The window a headcount-growth percentage is measured over. The company index measures the last month, quarter and year (added 2026-09-16 for the first two); six and twenty-four months were the lead database's windows and are refused by name on a company search.
    - `past_company_identifier` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `past_company_industry` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `past_company_keyword` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `past_company_location` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `past_company_name` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `past_company_revenue` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `past_company_states` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `past_company_table` CompanyTableFilterSchema: The companies a search follows from a table, and the ones it leaves out.
      - `exclude` CompanyTableLinkSchema: One column of one of your tables, read as a list of companies.
        - `column_id` string, uuid, required: The column with each company's website, web address, LinkedIn company page or numeric LinkedIn id. A column of company names matches no one.
        - `table_id` string, uuid, required: The table holding the companies.
        - `view_id` string, uuid, nullable: A saved view of that table: only the rows its filter keeps are read. Omit it to read every row.
      - `include` CompanyTableLinkSchema: One column of one of your tables, read as a list of companies.
        - `column_id` string, uuid, required: The column with each company's website, web address, LinkedIn company page or numeric LinkedIn id. A column of company names matches no one.
        - `table_id` string, uuid, required: The table holding the companies.
        - `view_id` string, uuid, nullable: A saved view of that table: only the rows its filter keeps are read. Omit it to read every row.
    - `past_company_type` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `past_company_website` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `past_departments` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `past_job_title` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `past_management_levels` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `profile_location` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `recommendations` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `school` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `skills` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `started_current_role_after` string, nullable: Only people who started the job they hold now on or after this day.
    - `states` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `total_experience_months` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `work_location` TextFilterSchema: Include and/or exclude a set of values for one text attribute.
      - `exclude` string[]
      - `include` string[]
    - `years_in_current_company` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `years_in_past_company` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `years_of_experience` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
  - `post_authors` PostAuthorsQuerySchema: Filters for a search for people whose own LinkedIn posts carry a phrase. The rows are people, one per author, each carrying every matching post the search read for them. The count is of posts, since the people are folded from them once they are read.
    - `and_keywords` array[], nullable: Up to 4 more groups of phrases, each of which a post must ALSO carry one phrase of, with up to 20 phrases to include across keywords and every group. Each is matched the same way: keywords clay with one group expensive, credits, cost finds posts that mention clay and any of the three. Groups only narrow a search: keywords must hold a phrase too.
      - string[]
    - `keywords` PostPhraseFilterSchema: A phrase filter over the text of LinkedIn posts, capped at twenty phrases each way.
      - `exclude` string[]
      - `include` string[]
    - `min_comments` integer, nullable: Skip posts with fewer comments than this.
    - `min_reactions` integer, nullable: Skip posts fewer people reacted to than this.
    - `posted_within` 'past_week' | 'past_month' | 'past_quarter' | 'past_year' | 'any_time': How recently a post went up for a posts search to read it, counted back from the run. ``any_time`` is a member rather than a null: a stored query drops its nulls, and a null would come back from storage as the default window.
  - `record_type` 'people' | 'companies' | 'signal_companies' | 'signal_people' | 'lookalikes' | 'local_businesses' | 'hiring_companies' | 'backlinks' | 'search_results' | 'post_authors', required: Which dataset a search runs against, and so which provider serves it. Values are persisted in String(16) columns, so every member must stay within 16 characters.
  - `search_results` SearchResultsQuerySchema: Google searches to run, each landing the results Google shows for it. Write each search the way you would type it into Google: operators (site:, intitle:, quoted phrases) work and cost nothing extra. One row is one result of one search, with the search that found it and its rank.
    - `country` string: The country the searches run from, as a two-letter ISO code (US, GB, DE). Google ranks results for searchers there. US by default.
    - `results_per_search` integer: The most results each search adds. A search stops there or where Google runs out of results, whichever comes first. 50 by default.
    - `searches` string[]: The searches to run, one per entry, exactly as you would type them into Google. Blank entries and repeats are dropped. At most 100 searches.
  - `signal_companies` SignalCompaniesQuerySchema: Filters for a company buying-signal search.
    - `company_domains` string[]: Only signals from these company domains. Up to 100.
    - `content_competitors_mentioned` ContentFilterSchema: A text filter over the words a signal was drawn from, capped at 20 terms each way.
      - `exclude` string[]
      - `include` string[]
    - `content_initiatives` ContentFilterSchema: A text filter over the words a signal was drawn from, capped at 20 terms each way.
      - `exclude` string[]
      - `include` string[]
    - `content_keywords` ContentFilterSchema: A text filter over the words a signal was drawn from, capped at 20 terms each way.
      - `exclude` string[]
      - `include` string[]
    - `content_pain_points` ContentFilterSchema: A text filter over the words a signal was drawn from, capped at 20 terms each way.
      - `exclude` string[]
      - `include` string[]
    - `content_tech_mentioned` ContentFilterSchema: A text filter over the words a signal was drawn from, capped at 20 terms each way.
      - `exclude` string[]
      - `include` string[]
    - `detected_after` string, nullable: Only signals detected on or after this day, as YYYY-MM-DD.
    - `detected_before` string, nullable: Only signals detected on or before this day, as YYYY-MM-DD.
    - `employee_count` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `industries` string[]: Only signals from companies in these industries. Up to 25, each matched as a case-insensitive substring of the data source's own industry labels; a value matching none of them is refused upstream.
    - `revenue` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `signal_subtypes` string[]: At most one narrower kind within the chosen signal, where it offers any. Optional: a signal with no subtypes sends none.
    - `signal_types` string[]: Which buying signal to look for: exactly one. It is required, and no other filter can anchor a signals search on its own.
    - `signals_per_entity` integer, nullable: How many of each company's or person's most recent matching signals to attach to its row; 25 when unset. Each company or person is one row however many signals it has, so this changes neither how many rows a search adds nor what they cost, and `signal_count` still gives the total.
  - `signal_people` SignalPeopleQuerySchema: Filters for a person activity-signal search.
    - `company_domains` string[]: Only signals from these company domains. Up to 100.
    - `content_competitors_mentioned` ContentFilterSchema: A text filter over the words a signal was drawn from, capped at 20 terms each way.
      - `exclude` string[]
      - `include` string[]
    - `content_initiatives` ContentFilterSchema: A text filter over the words a signal was drawn from, capped at 20 terms each way.
      - `exclude` string[]
      - `include` string[]
    - `content_keywords` ContentFilterSchema: A text filter over the words a signal was drawn from, capped at 20 terms each way.
      - `exclude` string[]
      - `include` string[]
    - `content_pain_points` ContentFilterSchema: A text filter over the words a signal was drawn from, capped at 20 terms each way.
      - `exclude` string[]
      - `include` string[]
    - `content_tech_mentioned` ContentFilterSchema: A text filter over the words a signal was drawn from, capped at 20 terms each way.
      - `exclude` string[]
      - `include` string[]
    - `department` string[]: Only people in these departments, from the data source's own list of eighteen. Any other value is refused.
    - `detected_after` string, nullable: Only signals detected on or after this day, as YYYY-MM-DD.
    - `detected_before` string, nullable: Only signals detected on or before this day, as YYYY-MM-DD.
    - `employee_count` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `industries` string[]: Only signals from companies in these industries. Up to 25, each matched as a case-insensitive substring of the data source's own industry labels; a value matching none of them is refused upstream.
    - `job_title` string, nullable: Only people whose job title matches this text.
    - `revenue` RangeFilterSchema: An inclusive numeric range; either bound may be omitted.
      - `gte` integer, nullable
      - `lte` integer, nullable
    - `seniority` string[]: Only people at these seniority levels.
    - `signal_subtypes` string[]: At most one narrower kind within the chosen signal, where it offers any. Optional: a signal with no subtypes sends none.
    - `signal_types` string[]: Which buying signal to look for: exactly one. It is required, and no other filter can anchor a signals search on its own.
    - `signals_per_entity` integer, nullable: How many of each company's or person's most recent matching signals to attach to its row; 25 when unset. Each company or person is one row however many signals it has, so this changes neither how many rows a search adds nor what they cost, and `signal_count` still gives the total.

## Response `200`

Successful Response

- LeadPreviewResponseSchema: A taste of the table a search would build, plus the size of the whole set. The rows carry only the revealed columns. Everything else about a lead, email included, stays on the server until the search becomes a table.
  - `already_in_tables` integer, nullable: How many of the sample `rows` are people another of your tables already holds. A people search leaves them out unless `include_people_already_in_tables` is set, so this says what that choice decides before anything is added. Null for every other search.
  - `columns` LeadColumnSchema[], required: The columns a table built from these sample leads would show, in order, with `revealed` saying which ones the rows below carry. Decided the way the import decides them: a column no sample lead fills is left out, and a person's name stands as one `Name` column only when both halves were found, otherwise under the half's own label. Draw the header from this and leave the unrevealed cells empty. A search that adds more leads than the sample can fill a column the sample left out.
    - `kind` 'text' | 'number' | 'url' | 'date' | 'boolean' | 'list', required: How a column's values are shown: a "url" as a link, a "date" as a date, a "list" as its items. A display hint, not the type the column stores.
    - `label` string, required: The column's name, as the created table will call it.
    - `revealed` boolean, required: Whether a preview carries this column's values. A column that is not revealed has no value in a preview row at all, rather than a hidden one, so there is nothing to blur on the page.
  - `earlier_table` EarlierLeadTableSchema: A table the same search already built, found through the search history.
    - `built_at` string, date-time, required: When that search built the table.
    - `table_id` string, uuid, required
    - `table_name` string, required
  - `provider_notices` string[]: What the data source said about the answer, in its own words. The signals data source narrows the scanned window to the most recent 14 days whenever an industry, size, revenue or job filter is set, and says so here rather than in the rows. Empty for every other search.
  - `rows` object[], required: At most five sample leads, each a map from a revealed column's label to its value as text, blank where the lead has none. For a people search that is the person's name, job title and company; for a company search, the company's name. No other value is sent, and email is never among them: finding it is what an enrichment does once the search is a table.
  - `total` integer, required

## Other responses

- `401`: Unauthorized
- `402`: The organisation's plan or credit balance blocks previewing.
- `403`: Forbidden
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: The lead database refused the query.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
