const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({query: 'VPs of sales at solar companies in California'})
};
fetch('https://api.context.dev/v1/people/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.context.dev/v1/people/search"
payload = { "query": "VPs of sales at solar companies in California" }
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/people/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\": \"VPs of sales at solar companies in California\"\n}"
response = http.request(request)
puts response.read_bodypackage main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.context.dev/v1/people/search"
payload := strings.NewReader("{\n \"query\": \"VPs of sales at solar companies in California\"\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/people/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' => 'VPs of sales at solar companies in California'
]),
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/people/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "VPs of sales at solar companies in California"
}
'{
"results": [
{
"name": "Alex Morgan",
"description": "Sales leader helping solar companies grow.",
"profiles": [
"https://alexmorgan.example"
],
"location": {
"country_code": "US",
"region": "California",
"city": "San Francisco"
},
"role": {
"title": "VP of Sales",
"seniority": "executive",
"functions": [
"sales"
],
"started_on": "2023-06-01",
"company": {
"name": "Solstice",
"domain": "solstice.example"
}
},
"years_of_experience": 12,
"is_founder": false,
"skills": [
"Enterprise Sales",
"Sales Leadership",
"Renewable Energy"
],
"schools": [
"University of California, Berkeley"
]
}
],
"next_cursor": null,
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"key_metadata": {
"credits_consumed": 10,
"credits_remaining": 990
}
}{
"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 people
Find people with a natural-language query. Use fast for basic criteria or ultra for a deeper search that scores each result. Pages with no matches are free.
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({query: 'VPs of sales at solar companies in California'})
};
fetch('https://api.context.dev/v1/people/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.context.dev/v1/people/search"
payload = { "query": "VPs of sales at solar companies in California" }
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/people/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\": \"VPs of sales at solar companies in California\"\n}"
response = http.request(request)
puts response.read_bodypackage main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.context.dev/v1/people/search"
payload := strings.NewReader("{\n \"query\": \"VPs of sales at solar companies in California\"\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/people/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' => 'VPs of sales at solar companies in California'
]),
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/people/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "VPs of sales at solar companies in California"
}
'{
"results": [
{
"name": "Alex Morgan",
"description": "Sales leader helping solar companies grow.",
"profiles": [
"https://alexmorgan.example"
],
"location": {
"country_code": "US",
"region": "California",
"city": "San Francisco"
},
"role": {
"title": "VP of Sales",
"seniority": "executive",
"functions": [
"sales"
],
"started_on": "2023-06-01",
"company": {
"name": "Solstice",
"domain": "solstice.example"
}
},
"years_of_experience": 12,
"is_founder": false,
"skills": [
"Enterprise Sales",
"Sales Leadership",
"Renewable Energy"
],
"schools": [
"University of California, Berkeley"
]
}
],
"next_cursor": null,
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"key_metadata": {
"credits_consumed": 10,
"credits_remaining": 990
}
}{
"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 people to find. Up to 500 characters in fast mode and 5000 in ultra mode.
1 - 5000"VPs of sales at solar companies in California"
fast matches people on basic criteria (e.g. their role, location or background); ultra plans a deeper search, judges each candidate against every criterion in the query. Complex ultra searches can take up to 30 seconds to complete, 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.
65536Labels for filtering usage in the dashboard.
201 - 50["production", "team-alpha"]
Response
Successful response
Up to 10 matching people, most relevant first.
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?