Skip to content

Discover API

Find companies matching your criteria using domain lookalike matching, natural language ICP descriptions, phrase matching, or structured filters. Returns BizData profiles ranked by relevance.

Use Count to preview result volume before running a full query, and Segment to group results into ICP clusters.

GET https://api.discolike.com/v1/discover

The discover endpoint supports multiple ways to find companies. You can combine them for hybrid search.

MethodParameterDescription
ICP Prompticp_promptDescribe your ICP in natural language; automatically extracts filters, generates ICP text, suggests domains
Domain LookalikedomainProvide example domains to find similar companies
ICP Texticp_textDescribe your ideal customer in natural language
Filters Only(structured filters)Use location, industry, score, and other filters without a search vector
ParameterTypeDescription
domainstring[]Domain(s) for lookalike matching (up to 10)
negate_domainstring[]Domains to push results away from (up to 10)
icp_textstringNatural language description of your ideal customer profile (3-4000 characters)
negate_icp_textstringDescription of business concepts to exclude (3-4000 characters)
ParameterTypeDescription
phrase_matchstring[]Exact text fragments to match in site content (up to 20, each at least 3 characters)
negate_phrase_matchstring[]Exact text fragments to exclude (up to 20, each at least 3 characters)
ParameterTypeDescription
countrystring[]ISO-3166-1 alpha-2 country codes (e.g., US, GB, DE). Also accepts region codes that auto-expand to member countries: ANZ, APAC, ASEAN, BENELUX, CEE, DACH, EMEA, EU, GCC, LATAM, MENA, NORDICS.
negate_countrystring[]Countries to exclude
statestring[]State/province filter. Accepts ISO 3166-2 codes (e.g. CA, BY) or full names (e.g. California, Bayern). Requires exactly one country value: passing more than one rejects state. That single value may be a region alias (e.g. EU, APAC, DACH), in which case states are resolved against every country the alias expands to. Supported for 120+ countries; see States. Up to 100 values, each must resolve to a known subdivision.
negate_statestring[]States to exclude (same format and country rule as state, up to 100)
geostring[]Circular search area written lat,lon or lat,lon,radius (e.g. 30.27,-97.74, 30.27,-97.74,30mi). Repeatable: pass it once per circle. The radius is a number optionally suffixed with km or mi, a bare number meaning kilometres; it defaults to 50km and may not exceed 1000km
bboxstring[]Bounding box written min_lat,min_lon,max_lat,max_lon. Repeatable: pass it once per box. Longitudes may wrap the antimeridian by setting min_lon above max_lon
latfloatLatitude of a search centre. Must be supplied together with lon
lonfloatLongitude of a search centre. Must be supplied together with lat
radiusstringSearch radius around lat/lon: a number optionally suffixed with km or mi (50, 50km, 30mi). A bare number is kilometres. Defaults to 50km, maximum 1000km

Every geo circle, every bbox and the circle formed by lat/lon/radius are OR’d together: a domain matches if it falls inside any one of them. A query may carry up to 10 shapes in total. The combined area is then AND’d with the rest of the filters, country and state included.

?geo=30.27,-97.74,10km&geo=52.52,13.405&bbox=51.2,-0.5,51.7,0.3
ParameterTypeDescription
min_digital_footprintintegerMinimum digital footprint score (0-800, default: 50). Must not exceed max_digital_footprint. When start_date is set, the floor is capped at the highest score a company of that age can reach (see Score methodology)
max_digital_footprintintegerMaximum digital footprint score (0-800, default: 800)
start_datestringCompany start date: YYYY-MM-DD or range YYYY-MM-DD,YYYY-MM-DD
categorystring[]Industry filter (e.g. SOFTWARE, HEALTHCARE). See Industries for all 53 values.
negate_categorystring[]Industries to exclude
sub_industrystring[]Second-level industry label, scoped to a category. Accepts a bare label (ROOFING) or a qualified key (CONSTRUCTION/ROOFING), case-insensitive, up to 50 values. A bare label whose parent is unambiguous adds that parent to category. See Sub-Industries for all 217 values.
negate_sub_industrystring[]Sub-industries to exclude. Same label format, but validated for taxonomy membership only: it never adds to or is checked against category, and a bare label that exists under several categories excludes it under all of them.
employee_rangestringEmployee count range as min,max (e.g., 1,5000). Open-ended forms: 50, means “50 and above”, ,50 means “50 and below”. Buckets: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+
revenue_rangestringCompany revenue range as min,max in raw integers (e.g., 1000000,10000000 for $1M-$10M). Use + suffix on max for unbounded (1000000000+ for $1B+). Buckets: <1M, 1-10M, 10-100M, 100M-1B, >1B. Domains with unknown revenue (N/A) are included when the range covers the <1M bucket.
business_modelstring[]Business-model labels (OR semantics). Values: B2B, B2C, B2G, G2B, G2C, D2C, C2C, C2B
negate_business_modelstring[]Business-model labels to exclude
ParameterTypeDescription
socialstring[]Require social presence: facebook, instagram, linkedin, twitter, x, youtube, tiktok, pinterest, threads, yelp, googleplay, applestore, amazon, vk, bluesky, xing
negate_socialstring[]Exclude companies with specified social profiles
languagestring[]Filter by site language (2-letter codes: en, de, fr, ja, etc.). See Languages for the full list.
negate_languagestring[]Languages to exclude
redirectbooleanInclude domains that redirect to another domain (default: false)
exclude_leadgenbooleanExclude suspected lead generation sites; filters out low-score profiles that also lack phone, email, and social media presence (default: true)
ParameterTypeDescription
tech_stackstring[]Filter to companies using specified vendor domains (up to 20)
negate_tech_stackstring[]Exclude companies using specified vendor domains (up to 20)
ParameterTypeDescription
subdomainstring[]Limit results to specified subdomains (up to 20)
negate_subdomainstring[]Exclude specified subdomains (up to 20)
ParameterTypeDescription
inclusion_query_idstring[]Limit to domains from saved query results
ParameterTypeDescription
exclusion_query_idstring[]Exclude domains from saved query results
exclude_domainstring[]Hard-exclude specific domains from results (up to 100). Accepts comma-separated (a.com,b.com) or repeated params. Unlike negate_domain, does not affect lookalike matching.
ParameterTypeDefaultDescription
max_recordsinteger100Maximum records to return (5-10,000)
offsetinteger0Records to skip for pagination
min_similarityinteger0Minimum similarity score (0-99)
consensusinteger1Number of top results for consensus search vector (1-20). Higher values reduce specificity
variancestringUNRESTRICTEDResult diversity control: LOW, MID_LOW, MEDIUM, MID_HIGH, HIGH, UNRESTRICTED
include_search_domainsbooleanfalseInclude input domains in results
ParameterTypeDefaultDescription
enhancedbooleanfalseEnable AI-powered result enhancement for improved relevance
retrievalbooleanfalseEnable page data retrieval using Extract API
auto_icp_textbooleanfalseAuto-generate ICP text from provided domain(s)
auto_phrase_matchbooleanfalseAuto-generate phrase matches from ICP text
icp_promptstringNatural language ICP description. Auto-extracts filters, generates cleaned ICP text, suggests lookalike domains, and runs discovery in one call. Overrides auto_icp_text and auto_phrase_match. Max 4000 characters

Limits enforced on every request. Count applies the same limits to the parameters it shares.

RuleParameters
3-4000 characters. An empty string is treated as if the parameter were omittedicp_text, negate_icp_text
Max 4000 charactersicp_prompt
Max 10 itemsdomain, negate_domain
Max 20 items, each at least 3 charactersphrase_match, negate_phrase_match, subdomain, negate_subdomain
Max 20 itemstech_stack, negate_tech_stack
Max 100 itemsexclude_domain
Max 100 items, each must resolve to an ISO 3166-2 subdivision code or name, and only with a single country value, which may be a region alias covering several countriesstate, negate_state
Max 50 items, each must be a known sub-industry label, and its parent category must be in category when category is non-emptysub_industry
Max 50 items, each must be a known sub-industry label; no relationship to category is enforcednegate_sub_industry
Four finite numbers min_lat,min_lon,max_lat,max_lon with -90 ≤ min_lat < max_lat ≤ 90 and both longitudes within -180 to 180 and not equalbbox
min_digital_footprint must not exceed max_digital_footprintmin_digital_footprint, max_digital_footprint
Max 10 shapes in total, counting every geo circle, every bbox and the lat/lon centregeo, bbox, lat, lon
lat and lon must be supplied together, and radius requires bothlat, lon, radius
Greater than 0 and at most 1000kmradius, the radius inside a geo value
YYYY-MM-DD, or min,max in the same formatstart_date
5-10,000max_records
1-20consensus
0-99min_similarity
0 or greateroffset
One of the listed valuesvariance
Unknown parameters are rejectedall

employee_range and revenue_range are the exception: a value that does not parse is silently dropped and the query runs without the filter.

HeaderDescription
X-Total-CountNumber of results returned
X-Applied-FiltersJSON object containing the filters actually used for the search. When icp_prompt is provided, this shows the extracted and merged filters (category, country, employee_range, tech_stack, phrase_match, icp_text, domain, etc.). Useful for understanding what the system interpreted from your prompt and for building iterative refinement workflows. geo and bbox are echoed as arrays of strings, one entry per shape, even when a single value was sent

Returns an array of BizData profiles with additional discovery fields:

FieldTypeDescription
similarityfloatSimilarity score (0-100) between result and query
latitudefloatLatitude of the company’s location, when resolved. Returned right after address
longitudefloatLongitude of the company’s location, when resolved
geo_precisionstringHow precisely the coordinates were resolved: rooftop, map_pin, street, zip, city. Null when no coordinates were resolved
sub_industryobject | nullSub-industry labels as PARENT/SUB:confidence pairs, returned right after industry_groups. null means the domain was never scored against its category’s sub-labels; {} means it was scored and nothing matched. See Sub-Industries for all 217 labels.
employeesstringEmployee count range bucket
vendorsstring[]Technology vendors detected (when tech_stack filter is used)

See the BizData dataset for the full profile schema.

Terminal window
curl "https://api.discolike.com/v1/discover?domain=stripe.com&country=US&min_digital_footprint=100&max_records=50" \
-H "x-discolike-key: API_KEY"
Terminal window
curl "https://api.discolike.com/v1/discover?icp_text=enterprise+SaaS+companies+in+financial+services&country=US&min_digital_footprint=200" \
-H "x-discolike-key: API_KEY"
Terminal window
curl "https://api.discolike.com/v1/discover?icp_prompt=SaaS+companies+in+financial+services+with+50-200+employees+in+the+US&min_digital_footprint=200" \
-H "x-discolike-key: API_KEY"
Terminal window
curl "https://api.discolike.com/v1/discover?category=CONSTRUCTION&geo=30.27,-97.74,30mi&geo=32.78,-96.80,30mi&bbox=29.6,-95.7,30.1,-95.0" \
-H "x-discolike-key: API_KEY"
Terminal window
curl "https://api.discolike.com/v1/discover?phrase_match=cloud+security&category=CYBERSECURITY&employee_range=51,5000" \
-H "x-discolike-key: API_KEY"
Terminal window
curl "https://api.discolike.com/v1/discover?sub_industry=ROOFING&lat=30.27&lon=-97.74&radius=50mi&max_records=50" \
-H "x-discolike-key: API_KEY"
Terminal window
curl "https://api.discolike.com/v1/discover?category=SOFTWARE&bbox=37.2,-122.6,37.9,-122.0&max_records=50" \
-H "x-discolike-key: API_KEY"
[
{
"domain": "acmesoftware.com",
"name": "Acme Software",
"similarity": 87.3,
"status": { "status": "active", "confidence": 1 },
"score": 450,
"start_date": "2015-03-20",
"address": {
"city": "San Francisco",
"state": "California",
"country": "US"
},
"latitude": 37.7749,
"longitude": -122.4194,
"geo_precision": "rooftop",
"phones": ["+15555550200"],
"public_emails": ["info@acmesoftware.com"],
"social_urls": ["https://linkedin.com/company/acme-software"],
"redirect_domain": null,
"description": "Enterprise software solutions for modern businesses.",
"keywords": {
"enterprise software": 0.72,
"cloud platform": 0.65
},
"industry_groups": {
"SOFTWARE": 0.89
},
"sub_industry": {
"SOFTWARE/CUSTOM_SOFTWARE_DEVELOPER": 0.71
},
"employees": "201-500",
"mx_provider": "google.com"
}
]