const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({query: 'Solar startups in California that raised a Series B'})
};
fetch('https://api.context.dev/v1/company/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.context.dev/v1/company/search"
payload = { "query": "Solar startups in California that raised a Series B" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)require 'uri'
require 'net/http'
url = URI("https://api.context.dev/v1/company/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"Solar startups in California that raised a Series B\"\n}"
response = http.request(request)
puts response.read_bodypackage main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.context.dev/v1/company/search"
payload := strings.NewReader("{\n \"query\": \"Solar startups in California that raised a Series B\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.context.dev/v1/company/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([
'query' => 'Solar startups in California that raised a Series B'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}curl --request POST \
--url https://api.context.dev/v1/company/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "Solar startups in California that raised a Series B"
}
'{
"results": [
{
"name": "Solstice",
"domain": "solstice.example",
"socials": {
"linkedin": "https://www.linkedin.com/company/solstice-example",
"x": "https://x.com/solstice_example",
"instagram": null,
"facebook": null,
"youtube": null,
"github": null,
"crunchbase": "https://www.crunchbase.com/organization/solstice-example",
"wellfound": null
},
"description": "Software for designing and managing solar installations.",
"organization_type": "privately_held",
"operating_status": "active",
"stock_symbols": [],
"revenue": {
"min_usd": null,
"max_usd": null
},
"industries": [
"Renewable Energy"
],
"founded_year": 2018,
"headquarters": {
"country_code": "US",
"region": "California",
"city": "San Francisco",
"street_address": null,
"postal_code": null
},
"employees": {
"count": null,
"min": 51,
"max": 200
},
"funding": {
"stage": "series_b",
"total_usd": 40000000,
"round_count": 3,
"latest_round": {
"type": "series_b",
"date": "2026-03-02",
"amount_usd": 25000000
},
"rounds": [
{
"type": "series_b",
"date": "2026-03-02",
"amount_usd": 25000000,
"phase": "initial"
}
]
}
}
],
"next_cursor": null,
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"key_metadata": {
"credits_consumed": 2,
"credits_remaining": 998
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"error_code": "INTERNAL_ERROR",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "REQUEST_TIMEOUT",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"message": "<string>",
"error_code": "RATE_LIMITED",
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"error_data": {
"is_authenticated": true,
"limit_type": "concurrency",
"limit": 1,
"remaining": 1,
"retry_after_seconds": 1,
"credits_charged": 0,
"should_retry": false,
"retry_condition": "available_concurrency",
"recovery_options": [
"wait_for_in_flight_requests"
],
"info_url": "https://context.dev/dashboard/subscription",
"credits_remaining": 1
},
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}Search companies
Find companies by name or description. Use fast for quick results or ultra for a more thorough search that checks each result. Pages with no matches are free.
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({query: 'Solar startups in California that raised a Series B'})
};
fetch('https://api.context.dev/v1/company/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.context.dev/v1/company/search"
payload = { "query": "Solar startups in California that raised a Series B" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)require 'uri'
require 'net/http'
url = URI("https://api.context.dev/v1/company/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"Solar startups in California that raised a Series B\"\n}"
response = http.request(request)
puts response.read_bodypackage main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.context.dev/v1/company/search"
payload := strings.NewReader("{\n \"query\": \"Solar startups in California that raised a Series B\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.context.dev/v1/company/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([
'query' => 'Solar startups in California that raised a Series B'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}curl --request POST \
--url https://api.context.dev/v1/company/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "Solar startups in California that raised a Series B"
}
'{
"results": [
{
"name": "Solstice",
"domain": "solstice.example",
"socials": {
"linkedin": "https://www.linkedin.com/company/solstice-example",
"x": "https://x.com/solstice_example",
"instagram": null,
"facebook": null,
"youtube": null,
"github": null,
"crunchbase": "https://www.crunchbase.com/organization/solstice-example",
"wellfound": null
},
"description": "Software for designing and managing solar installations.",
"organization_type": "privately_held",
"operating_status": "active",
"stock_symbols": [],
"revenue": {
"min_usd": null,
"max_usd": null
},
"industries": [
"Renewable Energy"
],
"founded_year": 2018,
"headquarters": {
"country_code": "US",
"region": "California",
"city": "San Francisco",
"street_address": null,
"postal_code": null
},
"employees": {
"count": null,
"min": 51,
"max": 200
},
"funding": {
"stage": "series_b",
"total_usd": 40000000,
"round_count": 3,
"latest_round": {
"type": "series_b",
"date": "2026-03-02",
"amount_usd": 25000000
},
"rounds": [
{
"type": "series_b",
"date": "2026-03-02",
"amount_usd": 25000000,
"phase": "initial"
}
]
}
}
],
"next_cursor": null,
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"key_metadata": {
"credits_consumed": 2,
"credits_remaining": 998
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"error_code": "INTERNAL_ERROR",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "REQUEST_TIMEOUT",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"message": "<string>",
"error_code": "RATE_LIMITED",
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"error_data": {
"is_authenticated": true,
"limit_type": "concurrency",
"limit": 1,
"remaining": 1,
"retry_after_seconds": 1,
"credits_charged": 0,
"should_retry": false,
"retry_condition": "available_concurrency",
"recovery_options": [
"wait_for_in_flight_requests"
],
"info_url": "https://context.dev/dashboard/subscription",
"credits_remaining": 1
},
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}Authorizations
Send Authorization: Bearer <API_KEY>. Keys have full access unless restricted to scopes.
Body
Describe the companies to find. Up to 500 characters in fast mode and 5000 in ultra mode.
1 - 5000"Solar startups in California that raised a Series B"
fast returns results in about two seconds; ultra searches more thoroughly and checks every result against each criterion in the query. ultra can take up to 20 seconds, so allow for that in your client timeout.
fast, ultra Additional constraints every result must match.
Show child attributes
Show child attributes
Use next_cursor with the same query, mode and filters to fetch the next page.
64Labels for filtering usage in the dashboard.
201 - 50["production", "team-alpha"]
Response
Successful response
Up to 10 matching companies, most relevant first by default.
10Show child attributes
Show child attributes
Unique ID of this request, also in X-Request-Id. Include it when contacting support.
"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91"
Pass as cursor to fetch the next page; null when there are no more results.
Credits this request used and your remaining balance.
Show child attributes
Show child attributes
Was this page helpful?