> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.data.aviato.co/api-reference/company/search/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.data.aviato.co/_mcp/server. # Search POST https://data.api.aviato.co/company/search Content-Type: application/json Search using the Aviato DSL. There is no application clause-count cap. Filter nesting is capped at 100 groups; excessive nesting returns 400. Backend query limits, request-size limits, and runtime/resource limits can still constrain searches. A customer may run at most 15 searches concurrently, shared across all API keys, person GET/POST search and company search. Excess concurrency returns 429 with Retry-After. Admission failures return 503 rather than bypassing the limit. Enrichment rate limits are unchanged. Reference: https://docs.data.aviato.co/api-reference/company/search ## Authentication - `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer `, where token is your auth token. ## Request ### Body (application/json) This endpoint expects an object. - `dsl` (any, required) — The DSL query object. Must contain a `filters` array. ## Response ### 200 - `count` (CompanyDSLCount, required) - `items` (list of BareCompany, required) ## Errors ### 400 Bad Request Error - `message` (string, required) ### 429 Search Concurrency Error The customer already has 15 searches in flight. Retry after an active search completes. - `message` (string, required) ### 503 Search Unavailable Error Search admission or invocation is temporarily unavailable. Retry later. - `message` (string, required) ### 401 Unauthorized Error ### 429 Rate Limit Error ### 400 Bad Request Error - `message` (string, required) ## Types ### CompanyDSLCount - `value` (string, required) - `isEstimate` (boolean, required) ### BareCompany This object represents a company. It includes only the most essential information to identify a company. - `id` (string, required) — The Aviato ID of the company - `name` (string, optional) — The name of the company - `description` (string, optional) — Description of the company - `country` (string, optional) — The country of the company (Full country name) - `region` (string, optional) — The region of the company (state/province) - `locality` (string, optional) — The locality of the company (city/town/village) - `URLs` (URLs, optional) — All URLs associated with the company. - `industryList` (list of string, optional) — The industries the company is associated with. - `linkedinIndustries` (list of string, optional) — Industry labels reported by LinkedIn, without Aviato taxonomy normalization. - `headcount` (integer, optional) — The current number of employees at the company - `computed_headcount` (integer, optional) — The computed headcount based on Aviato's algorithms ### URLs This object represents different urls that can be associated with any type of entity. (Does not include http prefix) - `golden` (string, optional) - `contact` (string, optional) - `twitter` (string, optional) - `website` (string, optional) - `facebook` (string, optional) - `github` (string, optional) - `linkedin` (string, optional) - `pitchbook` (string, optional) - `angelList` (string, optional) - `signalNFX` (string, optional) - `crunchbase` (string, optional) ## Examples ### SearchAIStartups Find AI startups in the US with 50+ employees **Request** ```json { "dsl": { "filters": [ { "country": { "operation": "eq", "value": "United States" } }, { "description": { "operation": "fts", "value": "artificial intelligence" } }, { "headcount": { "operation": "gte", "value": 50 } } ], "limit": 10, "offset": 0 } } ``` **Response** ```json { "count": { "value": "1234", "isEstimate": true }, "items": [] } ``` **SDK Code** ```python SearchAIStartups import requests url = "https://data.api.aviato.co/company/search" payload = { "dsl": { "filters": [{ "country": { "operation": "eq", "value": "United States" } }, { "description": { "operation": "fts", "value": "artificial intelligence" } }, { "headcount": { "operation": "gte", "value": 50 } }], "limit": 10, "offset": 0 } } headers = { "Authorization": "Bearer ", "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` ```javascript SearchAIStartups const url = 'https://data.api.aviato.co/company/search'; const options = { method: 'POST', headers: {Authorization: 'Bearer ', 'Content-Type': 'application/json'}, body: '{"dsl":{"filters":[{"country":{"operation":"eq","value":"United States"}},{"description":{"operation":"fts","value":"artificial intelligence"}},{"headcount":{"operation":"gte","value":50}}],"limit":10,"offset":0}}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go SearchAIStartups package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://data.api.aviato.co/company/search" payload := strings.NewReader("{\n \"dsl\": {\n \"filters\": [\n {\n \"country\": {\n \"operation\": \"eq\",\n \"value\": \"United States\"\n }\n },\n {\n \"description\": {\n \"operation\": \"fts\",\n \"value\": \"artificial intelligence\"\n }\n },\n {\n \"headcount\": {\n \"operation\": \"gte\",\n \"value\": 50\n }\n }\n ],\n \"limit\": 10,\n \"offset\": 0\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Authorization", "Bearer ") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby SearchAIStartups require 'uri' require 'net/http' url = URI("https://data.api.aviato.co/company/search") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["Authorization"] = 'Bearer ' request["Content-Type"] = 'application/json' request.body = "{\n \"dsl\": {\n \"filters\": [\n {\n \"country\": {\n \"operation\": \"eq\",\n \"value\": \"United States\"\n }\n },\n {\n \"description\": {\n \"operation\": \"fts\",\n \"value\": \"artificial intelligence\"\n }\n },\n {\n \"headcount\": {\n \"operation\": \"gte\",\n \"value\": 50\n }\n }\n ],\n \"limit\": 10,\n \"offset\": 0\n }\n}" response = http.request(request) puts response.read_body ``` ```java SearchAIStartups import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://data.api.aviato.co/company/search") .header("Authorization", "Bearer ") .header("Content-Type", "application/json") .body("{\n \"dsl\": {\n \"filters\": [\n {\n \"country\": {\n \"operation\": \"eq\",\n \"value\": \"United States\"\n }\n },\n {\n \"description\": {\n \"operation\": \"fts\",\n \"value\": \"artificial intelligence\"\n }\n },\n {\n \"headcount\": {\n \"operation\": \"gte\",\n \"value\": 50\n }\n }\n ],\n \"limit\": 10,\n \"offset\": 0\n }\n}") .asString(); ``` ```php SearchAIStartups request('POST', 'https://data.api.aviato.co/company/search', [ 'body' => '{ "dsl": { "filters": [ { "country": { "operation": "eq", "value": "United States" } }, { "description": { "operation": "fts", "value": "artificial intelligence" } }, { "headcount": { "operation": "gte", "value": 50 } } ], "limit": 10, "offset": 0 } }', 'headers' => [ 'Authorization' => 'Bearer ', 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp SearchAIStartups using RestSharp; var client = new RestClient("https://data.api.aviato.co/company/search"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", "Bearer "); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"dsl\": {\n \"filters\": [\n {\n \"country\": {\n \"operation\": \"eq\",\n \"value\": \"United States\"\n }\n },\n {\n \"description\": {\n \"operation\": \"fts\",\n \"value\": \"artificial intelligence\"\n }\n },\n {\n \"headcount\": {\n \"operation\": \"gte\",\n \"value\": 50\n }\n }\n ],\n \"limit\": 10,\n \"offset\": 0\n }\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift SearchAIStartups import Foundation let headers = [ "Authorization": "Bearer ", "Content-Type": "application/json" ] let parameters = ["dsl": [ "filters": [["country": [ "operation": "eq", "value": "United States" ]], ["description": [ "operation": "fts", "value": "artificial intelligence" ]], ["headcount": [ "operation": "gte", "value": 50 ]]], "limit": 10, "offset": 0 ]] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://data.api.aviato.co/company/search")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ### SearchByIndustries Find companies in specific industries **Request** ```json { "dsl": { "filters": [ { "industries": { "operation": "in", "value": [ "FinTech", "Financial Services" ], "quantifier": "some" } } ], "limit": 10 } } ``` **Response** ```json { "count": { "value": "567", "isEstimate": true }, "items": [] } ``` **SDK Code** ```python SearchByIndustries import requests url = "https://data.api.aviato.co/company/search" payload = { "dsl": { "filters": [{ "industries": { "operation": "in", "value": ["FinTech", "Financial Services"], "quantifier": "some" } }], "limit": 10 } } headers = { "Authorization": "Bearer ", "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` ```javascript SearchByIndustries const url = 'https://data.api.aviato.co/company/search'; const options = { method: 'POST', headers: {Authorization: 'Bearer ', 'Content-Type': 'application/json'}, body: '{"dsl":{"filters":[{"industries":{"operation":"in","value":["FinTech","Financial Services"],"quantifier":"some"}}],"limit":10}}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go SearchByIndustries package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://data.api.aviato.co/company/search" payload := strings.NewReader("{\n \"dsl\": {\n \"filters\": [\n {\n \"industries\": {\n \"operation\": \"in\",\n \"value\": [\n \"FinTech\",\n \"Financial Services\"\n ],\n \"quantifier\": \"some\"\n }\n }\n ],\n \"limit\": 10\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Authorization", "Bearer ") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby SearchByIndustries require 'uri' require 'net/http' url = URI("https://data.api.aviato.co/company/search") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["Authorization"] = 'Bearer ' request["Content-Type"] = 'application/json' request.body = "{\n \"dsl\": {\n \"filters\": [\n {\n \"industries\": {\n \"operation\": \"in\",\n \"value\": [\n \"FinTech\",\n \"Financial Services\"\n ],\n \"quantifier\": \"some\"\n }\n }\n ],\n \"limit\": 10\n }\n}" response = http.request(request) puts response.read_body ``` ```java SearchByIndustries import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://data.api.aviato.co/company/search") .header("Authorization", "Bearer ") .header("Content-Type", "application/json") .body("{\n \"dsl\": {\n \"filters\": [\n {\n \"industries\": {\n \"operation\": \"in\",\n \"value\": [\n \"FinTech\",\n \"Financial Services\"\n ],\n \"quantifier\": \"some\"\n }\n }\n ],\n \"limit\": 10\n }\n}") .asString(); ``` ```php SearchByIndustries request('POST', 'https://data.api.aviato.co/company/search', [ 'body' => '{ "dsl": { "filters": [ { "industries": { "operation": "in", "value": [ "FinTech", "Financial Services" ], "quantifier": "some" } } ], "limit": 10 } }', 'headers' => [ 'Authorization' => 'Bearer ', 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp SearchByIndustries using RestSharp; var client = new RestClient("https://data.api.aviato.co/company/search"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", "Bearer "); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"dsl\": {\n \"filters\": [\n {\n \"industries\": {\n \"operation\": \"in\",\n \"value\": [\n \"FinTech\",\n \"Financial Services\"\n ],\n \"quantifier\": \"some\"\n }\n }\n ],\n \"limit\": 10\n }\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift SearchByIndustries import Foundation let headers = [ "Authorization": "Bearer ", "Content-Type": "application/json" ] let parameters = ["dsl": [ "filters": [["industries": [ "operation": "in", "value": ["FinTech", "Financial Services"], "quantifier": "some" ]]], "limit": 10 ]] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://data.api.aviato.co/company/search")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ### SearchWellFundedStartups Find well-funded startups with $10M+ funding and under 100 employees **Request** ```json { "dsl": { "filters": [ { "totalFunding": { "operation": "gte", "value": 10000000 } }, { "headcount": { "operation": "lte", "value": 100 } } ], "limit": 10 } } ``` **Response** ```json { "count": { "value": "890", "isEstimate": true }, "items": [] } ``` **SDK Code** ```python SearchWellFundedStartups import requests url = "https://data.api.aviato.co/company/search" payload = { "dsl": { "filters": [{ "totalFunding": { "operation": "gte", "value": 10000000 } }, { "headcount": { "operation": "lte", "value": 100 } }], "limit": 10 } } headers = { "Authorization": "Bearer ", "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` ```javascript SearchWellFundedStartups const url = 'https://data.api.aviato.co/company/search'; const options = { method: 'POST', headers: {Authorization: 'Bearer ', 'Content-Type': 'application/json'}, body: '{"dsl":{"filters":[{"totalFunding":{"operation":"gte","value":10000000}},{"headcount":{"operation":"lte","value":100}}],"limit":10}}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go SearchWellFundedStartups package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://data.api.aviato.co/company/search" payload := strings.NewReader("{\n \"dsl\": {\n \"filters\": [\n {\n \"totalFunding\": {\n \"operation\": \"gte\",\n \"value\": 10000000\n }\n },\n {\n \"headcount\": {\n \"operation\": \"lte\",\n \"value\": 100\n }\n }\n ],\n \"limit\": 10\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Authorization", "Bearer ") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby SearchWellFundedStartups require 'uri' require 'net/http' url = URI("https://data.api.aviato.co/company/search") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["Authorization"] = 'Bearer ' request["Content-Type"] = 'application/json' request.body = "{\n \"dsl\": {\n \"filters\": [\n {\n \"totalFunding\": {\n \"operation\": \"gte\",\n \"value\": 10000000\n }\n },\n {\n \"headcount\": {\n \"operation\": \"lte\",\n \"value\": 100\n }\n }\n ],\n \"limit\": 10\n }\n}" response = http.request(request) puts response.read_body ``` ```java SearchWellFundedStartups import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://data.api.aviato.co/company/search") .header("Authorization", "Bearer ") .header("Content-Type", "application/json") .body("{\n \"dsl\": {\n \"filters\": [\n {\n \"totalFunding\": {\n \"operation\": \"gte\",\n \"value\": 10000000\n }\n },\n {\n \"headcount\": {\n \"operation\": \"lte\",\n \"value\": 100\n }\n }\n ],\n \"limit\": 10\n }\n}") .asString(); ``` ```php SearchWellFundedStartups request('POST', 'https://data.api.aviato.co/company/search', [ 'body' => '{ "dsl": { "filters": [ { "totalFunding": { "operation": "gte", "value": 10000000 } }, { "headcount": { "operation": "lte", "value": 100 } } ], "limit": 10 } }', 'headers' => [ 'Authorization' => 'Bearer ', 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp SearchWellFundedStartups using RestSharp; var client = new RestClient("https://data.api.aviato.co/company/search"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", "Bearer "); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"dsl\": {\n \"filters\": [\n {\n \"totalFunding\": {\n \"operation\": \"gte\",\n \"value\": 10000000\n }\n },\n {\n \"headcount\": {\n \"operation\": \"lte\",\n \"value\": 100\n }\n }\n ],\n \"limit\": 10\n }\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift SearchWellFundedStartups import Foundation let headers = [ "Authorization": "Bearer ", "Content-Type": "application/json" ] let parameters = ["dsl": [ "filters": [["totalFunding": [ "operation": "gte", "value": 10000000 ]], ["headcount": [ "operation": "lte", "value": 100 ]]], "limit": 10 ]] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://data.api.aviato.co/company/search")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ### SearchByName Find companies by name using fuzzy search **Request** ```json { "dsl": { "nameQuery": "Google", "filters": [], "limit": 10 } } ``` **Response** ```json { "count": { "value": "15", "isEstimate": false }, "items": [] } ``` **SDK Code** ```python SearchByName import requests url = "https://data.api.aviato.co/company/search" payload = { "dsl": { "nameQuery": "Google", "filters": [], "limit": 10 } } headers = { "Authorization": "Bearer ", "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` ```javascript SearchByName const url = 'https://data.api.aviato.co/company/search'; const options = { method: 'POST', headers: {Authorization: 'Bearer ', 'Content-Type': 'application/json'}, body: '{"dsl":{"nameQuery":"Google","filters":[],"limit":10}}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go SearchByName package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://data.api.aviato.co/company/search" payload := strings.NewReader("{\n \"dsl\": {\n \"nameQuery\": \"Google\",\n \"filters\": [],\n \"limit\": 10\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Authorization", "Bearer ") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby SearchByName require 'uri' require 'net/http' url = URI("https://data.api.aviato.co/company/search") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["Authorization"] = 'Bearer ' request["Content-Type"] = 'application/json' request.body = "{\n \"dsl\": {\n \"nameQuery\": \"Google\",\n \"filters\": [],\n \"limit\": 10\n }\n}" response = http.request(request) puts response.read_body ``` ```java SearchByName import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://data.api.aviato.co/company/search") .header("Authorization", "Bearer ") .header("Content-Type", "application/json") .body("{\n \"dsl\": {\n \"nameQuery\": \"Google\",\n \"filters\": [],\n \"limit\": 10\n }\n}") .asString(); ``` ```php SearchByName request('POST', 'https://data.api.aviato.co/company/search', [ 'body' => '{ "dsl": { "nameQuery": "Google", "filters": [], "limit": 10 } }', 'headers' => [ 'Authorization' => 'Bearer ', 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp SearchByName using RestSharp; var client = new RestClient("https://data.api.aviato.co/company/search"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", "Bearer "); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"dsl\": {\n \"nameQuery\": \"Google\",\n \"filters\": [],\n \"limit\": 10\n }\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift SearchByName import Foundation let headers = [ "Authorization": "Bearer ", "Content-Type": "application/json" ] let parameters = ["dsl": [ "nameQuery": "Google", "filters": [], "limit": 10 ]] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://data.api.aviato.co/company/search")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```