Company Search API
curl --request POST \
--url https://api.cufinder.io/v3/companies/search \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"country": "<string>",
"state": "<string>",
"city": "<string>",
"industry": "<string>",
"employee_range": "<string>",
"followers_count_min": 123,
"followers_count_max": 123,
"founded_after_year": 123,
"founded_before_year": 123,
"funding_amount_min_usd": 123,
"funding_amount_max_usd": 123,
"annual_revenue_min_usd": 123,
"annual_revenue_max_usd": 123,
"products_services": {},
"is_school": true,
"page": 123
}
'import requests
url = "https://api.cufinder.io/v3/companies/search"
payload = {
"name": "<string>",
"country": "<string>",
"state": "<string>",
"city": "<string>",
"industry": "<string>",
"employee_range": "<string>",
"followers_count_min": 123,
"followers_count_max": 123,
"founded_after_year": 123,
"founded_before_year": 123,
"funding_amount_min_usd": 123,
"funding_amount_max_usd": 123,
"annual_revenue_min_usd": 123,
"annual_revenue_max_usd": 123,
"products_services": {},
"is_school": True,
"page": 123
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
country: '<string>',
state: '<string>',
city: '<string>',
industry: '<string>',
employee_range: '<string>',
followers_count_min: 123,
followers_count_max: 123,
founded_after_year: 123,
founded_before_year: 123,
funding_amount_min_usd: 123,
funding_amount_max_usd: 123,
annual_revenue_min_usd: 123,
annual_revenue_max_usd: 123,
products_services: {},
is_school: true,
page: 123
})
};
fetch('https://api.cufinder.io/v3/companies/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cufinder.io/v3/companies/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'country' => '<string>',
'state' => '<string>',
'city' => '<string>',
'industry' => '<string>',
'employee_range' => '<string>',
'followers_count_min' => 123,
'followers_count_max' => 123,
'founded_after_year' => 123,
'founded_before_year' => 123,
'funding_amount_min_usd' => 123,
'funding_amount_max_usd' => 123,
'annual_revenue_min_usd' => 123,
'annual_revenue_max_usd' => 123,
'products_services' => [
],
'is_school' => true,
'page' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cufinder.io/v3/companies/search"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"country\": \"<string>\",\n \"state\": \"<string>\",\n \"city\": \"<string>\",\n \"industry\": \"<string>\",\n \"employee_range\": \"<string>\",\n \"followers_count_min\": 123,\n \"followers_count_max\": 123,\n \"founded_after_year\": 123,\n \"founded_before_year\": 123,\n \"funding_amount_min_usd\": 123,\n \"funding_amount_max_usd\": 123,\n \"annual_revenue_min_usd\": 123,\n \"annual_revenue_max_usd\": 123,\n \"products_services\": {},\n \"is_school\": true,\n \"page\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.cufinder.io/v3/companies/search")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"country\": \"<string>\",\n \"state\": \"<string>\",\n \"city\": \"<string>\",\n \"industry\": \"<string>\",\n \"employee_range\": \"<string>\",\n \"followers_count_min\": 123,\n \"followers_count_max\": 123,\n \"founded_after_year\": 123,\n \"founded_before_year\": 123,\n \"funding_amount_min_usd\": 123,\n \"funding_amount_max_usd\": 123,\n \"annual_revenue_min_usd\": 123,\n \"annual_revenue_max_usd\": 123,\n \"products_services\": {},\n \"is_school\": true,\n \"page\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cufinder.io/v3/companies/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"country\": \"<string>\",\n \"state\": \"<string>\",\n \"city\": \"<string>\",\n \"industry\": \"<string>\",\n \"employee_range\": \"<string>\",\n \"followers_count_min\": 123,\n \"followers_count_max\": 123,\n \"founded_after_year\": 123,\n \"founded_before_year\": 123,\n \"funding_amount_min_usd\": 123,\n \"funding_amount_max_usd\": 123,\n \"annual_revenue_min_usd\": 123,\n \"annual_revenue_max_usd\": 123,\n \"products_services\": {},\n \"is_school\": true,\n \"page\": 123\n}"
response = http.request(request)
puts response.read_bodyCompany APIs
Company Search API
Advanced filtering transforms generic databases into laser-targeted prospect lists that sales teams actually convert. The Company Search API queries CUFinder’s 85M+ company profiles using multiple parameters, including location, industry, employee size, funding, and founding year, returning filtered business data with 96% confidence scores. Built for developers creating prospecting tools and market intelligence platforms, this RESTful endpoint delivers granular company matches that power account-based marketing, lead generation, and competitive analysis workflows across your sales stack.
POST
/
v3
/
companies
/
search
Company Search API
curl --request POST \
--url https://api.cufinder.io/v3/companies/search \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"country": "<string>",
"state": "<string>",
"city": "<string>",
"industry": "<string>",
"employee_range": "<string>",
"followers_count_min": 123,
"followers_count_max": 123,
"founded_after_year": 123,
"founded_before_year": 123,
"funding_amount_min_usd": 123,
"funding_amount_max_usd": 123,
"annual_revenue_min_usd": 123,
"annual_revenue_max_usd": 123,
"products_services": {},
"is_school": true,
"page": 123
}
'import requests
url = "https://api.cufinder.io/v3/companies/search"
payload = {
"name": "<string>",
"country": "<string>",
"state": "<string>",
"city": "<string>",
"industry": "<string>",
"employee_range": "<string>",
"followers_count_min": 123,
"followers_count_max": 123,
"founded_after_year": 123,
"founded_before_year": 123,
"funding_amount_min_usd": 123,
"funding_amount_max_usd": 123,
"annual_revenue_min_usd": 123,
"annual_revenue_max_usd": 123,
"products_services": {},
"is_school": True,
"page": 123
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
country: '<string>',
state: '<string>',
city: '<string>',
industry: '<string>',
employee_range: '<string>',
followers_count_min: 123,
followers_count_max: 123,
founded_after_year: 123,
founded_before_year: 123,
funding_amount_min_usd: 123,
funding_amount_max_usd: 123,
annual_revenue_min_usd: 123,
annual_revenue_max_usd: 123,
products_services: {},
is_school: true,
page: 123
})
};
fetch('https://api.cufinder.io/v3/companies/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cufinder.io/v3/companies/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'country' => '<string>',
'state' => '<string>',
'city' => '<string>',
'industry' => '<string>',
'employee_range' => '<string>',
'followers_count_min' => 123,
'followers_count_max' => 123,
'founded_after_year' => 123,
'founded_before_year' => 123,
'funding_amount_min_usd' => 123,
'funding_amount_max_usd' => 123,
'annual_revenue_min_usd' => 123,
'annual_revenue_max_usd' => 123,
'products_services' => [
],
'is_school' => true,
'page' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cufinder.io/v3/companies/search"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"country\": \"<string>\",\n \"state\": \"<string>\",\n \"city\": \"<string>\",\n \"industry\": \"<string>\",\n \"employee_range\": \"<string>\",\n \"followers_count_min\": 123,\n \"followers_count_max\": 123,\n \"founded_after_year\": 123,\n \"founded_before_year\": 123,\n \"funding_amount_min_usd\": 123,\n \"funding_amount_max_usd\": 123,\n \"annual_revenue_min_usd\": 123,\n \"annual_revenue_max_usd\": 123,\n \"products_services\": {},\n \"is_school\": true,\n \"page\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.cufinder.io/v3/companies/search")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"country\": \"<string>\",\n \"state\": \"<string>\",\n \"city\": \"<string>\",\n \"industry\": \"<string>\",\n \"employee_range\": \"<string>\",\n \"followers_count_min\": 123,\n \"followers_count_max\": 123,\n \"founded_after_year\": 123,\n \"founded_before_year\": 123,\n \"funding_amount_min_usd\": 123,\n \"funding_amount_max_usd\": 123,\n \"annual_revenue_min_usd\": 123,\n \"annual_revenue_max_usd\": 123,\n \"products_services\": {},\n \"is_school\": true,\n \"page\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cufinder.io/v3/companies/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"country\": \"<string>\",\n \"state\": \"<string>\",\n \"city\": \"<string>\",\n \"industry\": \"<string>\",\n \"employee_range\": \"<string>\",\n \"followers_count_min\": 123,\n \"followers_count_max\": 123,\n \"founded_after_year\": 123,\n \"founded_before_year\": 123,\n \"funding_amount_min_usd\": 123,\n \"funding_amount_max_usd\": 123,\n \"annual_revenue_min_usd\": 123,\n \"annual_revenue_max_usd\": 123,\n \"products_services\": {},\n \"is_school\": true,\n \"page\": 123\n}"
response = http.request(request)
puts response.read_bodyCommon Use Cases
The right combination of filters turns a blank page into a ready-to-work prospect list.- Lead Generation: Building targeted company lists from combined filters.
- Account-Based Marketing: Finding every account that fits an ideal customer profile.
- Market Research: Exploring a segment by industry, size, location, and more.
- Territory Building: Pulling companies for a specific region or vertical.
- List Building: Generating fresh prospect lists on demand.
Attributes
string
Company name, matched as a substring. Required only when no other filter is set; at least one search filter is always required.
string
Company country. See the full list of accepted countries.
string
Company state. See the full list of accepted states.
string
Company city. See the full list of accepted cities.
string
Company industry. See the full list of accepted industries.
string
Company size band. Allowed values:
1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+.integer
Minimum follower count.
integer
Maximum follower count.
integer
Company founded after this year.
integer
Company founded before this year.
integer
Minimum total funding, in USD.
integer
Maximum total funding, in USD.
integer
Minimum annual revenue, in USD.
integer
Maximum annual revenue, in USD.
array[string]
Products and services keywords, for example
["b2b"].boolean
Whether the company is a school.
integer
Page number for paginated results. Each page returns up to 10 records.
Response
{
"success": true,
"data": {
"companies": [
{
"name": "n8n",
"domain": "n8n.io",
"website_url": "https://n8n.io",
"industry": "software development",
"type": "privately held",
"employee_range": "51-200",
"followers_count": null,
"linkedin_id": null,
"logo_url": null,
"location": {
"country": "germany",
"state": "be",
"city": "berlin",
"address": "novalisstraße 10,berlin, be 10115, de",
"postal_code": null
},
"social": {
"linkedin_url": "linkedin.com/company/n8n",
"facebook_url": null,
"twitter_url": null
}
},
{
"name": "join",
"domain": "join.com",
"website_url": "https://join.com",
"industry": "software development",
"type": "privately held",
"employee_range": "51-200",
"followers_count": null,
"linkedin_id": null,
"logo_url": null,
"location": {
"country": "germany",
"state": null,
"city": "berlin",
"address": "schönhauser allee 36,berlin, 10435, de",
"postal_code": null
},
"social": {
"linkedin_url": "linkedin.com/company/join-com",
"facebook_url": null,
"twitter_url": null
}
},
{
"name": "mgt-commerce gmbh",
"domain": "mgt-commerce.com",
"website_url": "http://www.mgt-commerce.com",
"industry": "software development",
"type": "self-owned",
"employee_range": "51-200",
"followers_count": null,
"linkedin_id": null,
"logo_url": null,
"location": {
"country": "germany",
"state": "berlin",
"city": "berlin",
"address": "27 mendelssohnstr.,berlin, berlin 10405, de",
"postal_code": null
},
"social": {
"linkedin_url": "linkedin.com/company/mgt-commerce-gmbh",
"facebook_url": null,
"twitter_url": null
}
},
{
"name": "researchgate",
"domain": "researchgate.net",
"website_url": "https://www.researchgate.net",
"industry": "software development",
"type": "privately held",
"employee_range": "51-200",
"followers_count": null,
"linkedin_id": null,
"logo_url": null,
"location": {
"country": "germany",
"state": null,
"city": "berlin",
"address": "chausseestraße 20,berlin, de",
"postal_code": null
},
"social": {
"linkedin_url": "linkedin.com/company/researchgate",
"facebook_url": null,
"twitter_url": null
}
},
{
"name": "komoot",
"domain": "komoot.com",
"website_url": "https://komoot.com",
"industry": "software development",
"type": "privately held",
"employee_range": "51-200",
"followers_count": null,
"linkedin_id": null,
"logo_url": null,
"location": {
"country": "germany",
"state": null,
"city": "berlin",
"address": "berlin, de",
"postal_code": null
},
"social": {
"linkedin_url": "linkedin.com/company/komoot-gmbh",
"facebook_url": null,
"twitter_url": null
}
},
{
"name": "qdrant",
"domain": "qdrant.tech",
"website_url": "https://qdrant.tech",
"industry": "software development",
"type": "privately held",
"employee_range": "51-200",
"followers_count": null,
"linkedin_id": null,
"logo_url": null,
"location": {
"country": "germany",
"state": "berlin",
"city": "berlin",
"address": "berlin, berlin 10115, de",
"postal_code": null
},
"social": {
"linkedin_url": "linkedin.com/company/qdrant",
"facebook_url": null,
"twitter_url": null
}
},
{
"name": "black forest labs",
"domain": "blackforestlabs.ai",
"website_url": "https://blackforestlabs.ai",
"industry": "software development",
"type": "privately held",
"employee_range": "51-200",
"followers_count": null,
"linkedin_id": null,
"logo_url": null,
"location": {
"country": "germany",
"state": "baden-württemberg",
"city": "freiburg",
"address": null,
"postal_code": null
},
"social": {
"linkedin_url": "linkedin.com/company/bflai",
"facebook_url": null,
"twitter_url": null
}
},
{
"name": "plan a",
"domain": "plana.earth",
"website_url": "http://www.plana.earth",
"industry": "software development",
"type": "privately held",
"employee_range": "51-200",
"followers_count": null,
"linkedin_id": null,
"logo_url": null,
"location": {
"country": "germany",
"state": null,
"city": "berlin",
"address": "berlin, de",
"postal_code": null
},
"social": {
"linkedin_url": "linkedin.com/company/planaearth",
"facebook_url": null,
"twitter_url": null
}
},
{
"name": "360dialog",
"domain": "360dialog.com",
"website_url": "http://www.360dialog.com",
"industry": "software development",
"type": "privately held",
"employee_range": "51-200",
"followers_count": null,
"linkedin_id": null,
"logo_url": null,
"location": {
"country": "germany",
"state": "bavaria",
"city": "grünwald",
"address": "torstraße 61,berlin, 10119, de",
"postal_code": null
},
"social": {
"linkedin_url": "linkedin.com/company/360dialog",
"facebook_url": null,
"twitter_url": null
}
},
{
"name": "flip",
"domain": "getflip.com",
"website_url": "https://www.getflip.com",
"industry": "software development",
"type": "privately held",
"employee_range": "51-200",
"followers_count": null,
"linkedin_id": null,
"logo_url": null,
"location": {
"country": "germany",
"state": "baden-württemberg",
"city": "stuttgart",
"address": "rotebühlstraße 50,stuttgart, baden-württemberg 70178, de",
"postal_code": null
},
"social": {
"linkedin_url": "linkedin.com/company/flip-app",
"facebook_url": null,
"twitter_url": null
}
}
]
},
"meta": {
"confidence": 97,
"query": {
"industry": "software development",
"country": "germany",
"employee_range": "51-200",
"page": 1
},
"credits": {
"charged": 3,
"remaining": 9862
},
"pagination": {
"page": 1,
"has_more": true
}
}
}
Related APIs
Company Lookalikes Finder
Discover companies similar to a target.
B2B Customers Finder
Identify a company’s likely B2B customers.
Person Search
Search 1B+ profiles with combined filters.
Company Enrichment
Enrich a company with full firmographics.

