curl --request POST \
--url https://api.getanyapi.com/v1/run/person_enrichment.prospeo \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"linkedinUrl": "https://www.linkedin.com/in/dharmesh"
}
'import requests
url = "https://api.getanyapi.com/v1/run/person_enrichment.prospeo"
payload = { "linkedinUrl": "https://www.linkedin.com/in/dharmesh" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({linkedinUrl: 'https://www.linkedin.com/in/dharmesh'})
};
fetch('https://api.getanyapi.com/v1/run/person_enrichment.prospeo', 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.getanyapi.com/v1/run/person_enrichment.prospeo",
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([
'linkedinUrl' => 'https://www.linkedin.com/in/dharmesh'
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getanyapi.com/v1/run/person_enrichment.prospeo"
payload := strings.NewReader("{\n \"linkedinUrl\": \"https://www.linkedin.com/in/dharmesh\"\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))
}HttpResponse<String> response = Unirest.post("https://api.getanyapi.com/v1/run/person_enrichment.prospeo")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"linkedinUrl\": \"https://www.linkedin.com/in/dharmesh\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getanyapi.com/v1/run/person_enrichment.prospeo")
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 \"linkedinUrl\": \"https://www.linkedin.com/in/dharmesh\"\n}"
response = http.request(request)
puts response.read_body{
"costUsd": 123,
"items": 123,
"output": {
"data": {
"fullName": "<string>",
"company": {
"attributes": {
"hasDemo": true,
"hasDownloadable": true,
"hasFreeTrial": true,
"hasMobileApps": true,
"hasOnlineReviews": true,
"hasPricing": true,
"isB2b": true
},
"companyId": "<string>",
"crunchbaseUrl": "<string>",
"description": "<string>",
"descriptionAi": "<string>",
"descriptionSeo": "<string>",
"domain": "<string>",
"emailTech": {
"domain": "<string>",
"mxProvider": "<string>"
},
"employeeCount": 123,
"employeeCountOnProspeo": 123,
"employeeRange": "<string>",
"facebookUrl": "<string>",
"founded": 123,
"funding": {
"events": [
{
"amount": 123,
"amountPrinted": "<string>",
"link": "<string>",
"raisedUtc": 123,
"stage": "<string>"
}
],
"latestStage": "<string>",
"latestUtc": 123,
"rounds": 123,
"totalRaised": 123,
"totalRaisedPrinted": "<string>"
},
"image": "<string>",
"industry": "<string>",
"instagramUrl": "<string>",
"jobPostings": {
"activeCount": 123,
"activeTitles": [
"<string>"
]
},
"keywords": [
"<string>"
],
"linkedinId": "<string>",
"linkedinUrl": "<string>",
"location": {
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"rawAddress": "<string>",
"state": "<string>"
},
"naicsCodes": [
"<string>"
],
"name": "<string>",
"otherWebsites": [
"<string>"
],
"phoneHq": {
"country": "<string>",
"countryCode": "<string>",
"international": "<string>",
"national": "<string>",
"phone": "<string>"
},
"revenueRange": {
"max": 123,
"min": 123
},
"revenueRangePrinted": "<string>",
"sicCodes": [
"<string>"
],
"technologies": [
"<string>"
],
"twitterUrl": "<string>",
"type": "<string>",
"website": "<string>",
"youtubeUrl": "<string>"
},
"email": {
"email": "<string>",
"revealed": true,
"status": "<string>"
},
"firstName": "<string>",
"freeEnrichment": true,
"headline": "<string>",
"jobChangeDetectedUtc": 123,
"jobHistory": [
{
"companyId": "<string>",
"companyName": "<string>",
"current": true,
"departments": [
"<string>"
],
"durationMonths": 123,
"endMonth": 123,
"endYear": 123,
"jobKey": "<string>",
"seniority": "<string>",
"startMonth": 123,
"startYear": 123,
"title": "<string>"
}
],
"jobKey": "<string>",
"jobTitle": "<string>",
"lastName": "<string>",
"linkedinMemberId": "<string>",
"linkedinUrl": "<string>",
"location": {
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"state": "<string>",
"timeZone": "<string>",
"timeZoneOffset": 123
},
"mobile": {
"country": "<string>",
"countryCode": "<string>",
"international": "<string>",
"mobile": "<string>",
"national": "<string>",
"revealed": true,
"status": "<string>"
},
"personId": "<string>",
"skills": [
"<string>"
]
},
"found": true
},
"provider": "<string>",
"replayed": true,
"hint": "<string>",
"jqError": "<string>",
"resultId": "<string>"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}Person Enrichment - Prospeo
Enrich one person into work email, mobile phone, full job history and employer firmographics from a LinkedIn URL, an email, or a name plus company domain.
Price: $66.00 per 1,000 requests (flat per request - same cost regardless of results returned).
Routing: one lane serves this API today, so a failed attempt has nowhere to fail over to. Payment outcome follows the selected rail’s settlement policy.
Catalog: Person Enrichment - Prospeo pricing and uptime - live USD price, lane routing, and measured 30-day uptime. Every Person_enrichment endpoint.
curl --request POST \
--url https://api.getanyapi.com/v1/run/person_enrichment.prospeo \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"linkedinUrl": "https://www.linkedin.com/in/dharmesh"
}
'import requests
url = "https://api.getanyapi.com/v1/run/person_enrichment.prospeo"
payload = { "linkedinUrl": "https://www.linkedin.com/in/dharmesh" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({linkedinUrl: 'https://www.linkedin.com/in/dharmesh'})
};
fetch('https://api.getanyapi.com/v1/run/person_enrichment.prospeo', 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.getanyapi.com/v1/run/person_enrichment.prospeo",
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([
'linkedinUrl' => 'https://www.linkedin.com/in/dharmesh'
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getanyapi.com/v1/run/person_enrichment.prospeo"
payload := strings.NewReader("{\n \"linkedinUrl\": \"https://www.linkedin.com/in/dharmesh\"\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))
}HttpResponse<String> response = Unirest.post("https://api.getanyapi.com/v1/run/person_enrichment.prospeo")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"linkedinUrl\": \"https://www.linkedin.com/in/dharmesh\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getanyapi.com/v1/run/person_enrichment.prospeo")
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 \"linkedinUrl\": \"https://www.linkedin.com/in/dharmesh\"\n}"
response = http.request(request)
puts response.read_body{
"costUsd": 123,
"items": 123,
"output": {
"data": {
"fullName": "<string>",
"company": {
"attributes": {
"hasDemo": true,
"hasDownloadable": true,
"hasFreeTrial": true,
"hasMobileApps": true,
"hasOnlineReviews": true,
"hasPricing": true,
"isB2b": true
},
"companyId": "<string>",
"crunchbaseUrl": "<string>",
"description": "<string>",
"descriptionAi": "<string>",
"descriptionSeo": "<string>",
"domain": "<string>",
"emailTech": {
"domain": "<string>",
"mxProvider": "<string>"
},
"employeeCount": 123,
"employeeCountOnProspeo": 123,
"employeeRange": "<string>",
"facebookUrl": "<string>",
"founded": 123,
"funding": {
"events": [
{
"amount": 123,
"amountPrinted": "<string>",
"link": "<string>",
"raisedUtc": 123,
"stage": "<string>"
}
],
"latestStage": "<string>",
"latestUtc": 123,
"rounds": 123,
"totalRaised": 123,
"totalRaisedPrinted": "<string>"
},
"image": "<string>",
"industry": "<string>",
"instagramUrl": "<string>",
"jobPostings": {
"activeCount": 123,
"activeTitles": [
"<string>"
]
},
"keywords": [
"<string>"
],
"linkedinId": "<string>",
"linkedinUrl": "<string>",
"location": {
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"rawAddress": "<string>",
"state": "<string>"
},
"naicsCodes": [
"<string>"
],
"name": "<string>",
"otherWebsites": [
"<string>"
],
"phoneHq": {
"country": "<string>",
"countryCode": "<string>",
"international": "<string>",
"national": "<string>",
"phone": "<string>"
},
"revenueRange": {
"max": 123,
"min": 123
},
"revenueRangePrinted": "<string>",
"sicCodes": [
"<string>"
],
"technologies": [
"<string>"
],
"twitterUrl": "<string>",
"type": "<string>",
"website": "<string>",
"youtubeUrl": "<string>"
},
"email": {
"email": "<string>",
"revealed": true,
"status": "<string>"
},
"firstName": "<string>",
"freeEnrichment": true,
"headline": "<string>",
"jobChangeDetectedUtc": 123,
"jobHistory": [
{
"companyId": "<string>",
"companyName": "<string>",
"current": true,
"departments": [
"<string>"
],
"durationMonths": 123,
"endMonth": 123,
"endYear": 123,
"jobKey": "<string>",
"seniority": "<string>",
"startMonth": 123,
"startYear": 123,
"title": "<string>"
}
],
"jobKey": "<string>",
"jobTitle": "<string>",
"lastName": "<string>",
"linkedinMemberId": "<string>",
"linkedinUrl": "<string>",
"location": {
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"state": "<string>",
"timeZone": "<string>",
"timeZoneOffset": 123
},
"mobile": {
"country": "<string>",
"countryCode": "<string>",
"international": "<string>",
"mobile": "<string>",
"national": "<string>",
"revealed": true,
"status": "<string>"
},
"personId": "<string>",
"skills": [
"<string>"
]
},
"found": true
},
"provider": "<string>",
"replayed": true,
"hint": "<string>",
"jqError": "<string>",
"resultId": "<string>"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}Authorizations
Your AnyAPI key as a Bearer token.
Headers
Optional wallet idempotency key, scoped to this customer for 24 hours. When the gateway honors the key, this synchronous in-process execution can continue after the caller disconnects, bounded by its execution deadline. A completed replayable result charges normally exactly once and can be replayed without another provider run or charge. A pending duplicate returns 409 idempotency_in_progress; reuse with different request semantics returns 409 idempotency_conflict.
1 - 255Query Parameters
Optional. Comma-separated keys (dotted paths like author.name descend into nested objects) to keep on each result item. Keys are matched relative to each result item after the data/items envelope is unwrapped, not against the top-level response envelope, so use jq to reshape the whole envelope. Shrinks the response without changing cost.
Optional. Cap the number of result rows returned; a _truncated note reports how many were withheld so you can page via the API's own limit. Does not change cost.
x >= 0Optional. Return only a structural outline (top-level keys, item counts, and per-field byte sizes) instead of the full data. Does not change cost.
Optional. A jq expression applied to the result envelope; its output replaces output (multiple outputs collect into an array). Reshape freely, e.g. jq=.data | {title, description, md: .markdown[:3500]}. Runs sandboxed with a 250ms / 2MB budget; on failure the full result is returned with a jqError. Does not change cost.
Body
- Person Enrichment - Prospeo input
- Person Enrichment - Prospeo input
- Person Enrichment - Prospeo input
- Person Enrichment - Prospeo input
- Person Enrichment - Prospeo input
- Person Enrichment - Prospeo input
- Person Enrichment - Prospeo input
LinkedIn profile URL. The most accurate identifier, alone or with a name.
Employer LinkedIn page URL, for a more precise match.
Employer name. Avoid sending it alone; many companies share a name.
1Employer domain, e.g. stripe.com. Preferred over companyName.
1Known email address, used as the sole identity seed for a reverse lookup.
Reveal the mobile number. Without it the number comes back masked.
First name. Send with lastName plus companyWebsite for the best hit rate.
1Full name, as an alternative to firstName plus lastName.
1Last name.
1Return a match only when Prospeo has a verified email for it. Defaults to false.
Return a match only when Prospeo has a verified mobile for it.
Prospeo person id from an earlier People Search - Prospeo call.
1Optional; omit it and routing is unchanged, with the cheapest source serving. Prefer sources whose typical response time (median over the trailing 30 days, as published on this endpoint's lane health) is under this many milliseconds; among those, the cheapest serves. This can raise your price: when the cheapest source misses the target, a faster and dearer one serves, and you are quoted and charged its price. If no source is that fast the request is still served, by whichever source offers the best speed for its price - it is never refused for being slow. Sources we have not timed are tried last. This is a preference, not a guarantee: the median describes past requests and is not a ceiling on this one, and it excludes any wait this request itself asks for. On a paginated walk it applies to the first page only: later pages stay with the source that page chose, at the price it was quoted.
x >= 1Response
Normalized result.
USD charged on the original run. On a replay this value is echoed for parity; the replay itself is free.
Number of result rows returned. For per-result SKUs the per-item cost is charged against this count; for input-priced SKUs the charge is per submitted input, independent of this count.
Normalized output, or null when the replay payload was not retained.
Hide child attributes
Hide child attributes
The enriched person, or null when nothing matched.
Hide child attributes
Hide child attributes
Person's full name.
The person's current employer, with Prospeo's full firmographic record.
Hide child attributes
Hide child attributes
What Prospeo detects about how the company sells.
Hide child attributes
Hide child attributes
The website offers a demo.
The website offers a download.
The website offers a free trial.
The company publishes mobile apps.
The company has online reviews.
The website publishes pricing.
The company sells to businesses.
Prospeo's own company identifier. Send it back as this SKU's companyId input.
Company Crunchbase profile URL.
Company description as the company writes it.
Prospeo's own AI-written company summary.
Meta description from the company's website.
Primary company domain.
Employees Prospeo currently counts.
Employees of this company that Prospeo holds a profile for.
Employee headcount band, e.g. 10000+.
Company Facebook page URL.
Year the company was founded.
Funding history.
Hide child attributes
Hide child attributes
One entry per funding round.
Hide child attributes
Hide child attributes
Amount raised in USD.
Amount raised as a display string.
Source URL for the round.
UTC epoch timestamp in seconds (Unix time) the round closed. Multiply by 1000 for a JS Date in milliseconds.
Round stage, e.g. Series E-J.
Most recent funding stage.
UTC epoch timestamp in seconds (Unix time) of the most recent round. Multiply by 1000 for a JS Date in milliseconds.
Number of funding rounds raised.
Total capital raised, in USD.
Total capital raised as a display string.
Company logo URL.
Company industry.
Company Instagram profile URL.
Keywords Prospeo assigns the company.
Company LinkedIn numeric id.
Company LinkedIn page URL.
Company headquarters.
Hide child attributes
Hide child attributes
City.
Country name.
ISO 3166-1 alpha-2 country code.
Headquarters address as one display string.
State or region.
NAICS classification codes for the company.
Company name.
Other domains the company owns.
Headquarters switchboard number.
Hide child attributes
Hide child attributes
Country the number belongs to.
ISO 3166-1 alpha-2 code for that country.
Number in international format.
Number in national format.
Phone number as Prospeo stores it.
Annual revenue band as a display string.
SIC classification codes for the company.
Technologies Prospeo detects in the company's stack.
Company X (Twitter) profile URL.
Ownership type, e.g. Private, Public, Non Profit.
Company website URL.
Company YouTube channel URL.
Work email address. Prospeo returns the address only once it is revealed; status says why it is absent otherwise.
Hide child attributes
Hide child attributes
First name.
True when Prospeo served this record from cache and did not charge for it.
LinkedIn headline.
UTC epoch timestamp in seconds (Unix time) Prospeo last detected a job change. Multiply by 1000 for a JS Date in milliseconds.
Every role Prospeo holds for the person, most recent first.
Hide child attributes
Hide child attributes
Prospeo company id for the employer.
Employer name.
True while the role is current.
Departments Prospeo assigns the role.
How long the role has run, in months.
Month the role ended, absent while current.
Year the role ended, absent while current.
Prospeo's identifier for this role.
Seniority band, e.g. C-Suite, Manager, Entry.
Month the role started, 1 to 12.
Year the role started.
Job title held.
Prospeo's identifier for the current role.
Current job title.
Last name.
LinkedIn numeric member id.
LinkedIn profile URL.
Where the person is located.
Hide child attributes
Hide child attributes
City.
Country name.
ISO 3166-1 alpha-2 country code.
State or region.
IANA time zone, e.g. America/New_York.
Current offset from UTC in hours.
Mobile phone number. Digits are masked until the number is revealed; send enrichMobile to reveal it.
Hide child attributes
Hide child attributes
Country the number belongs to.
ISO 3166-1 alpha-2 code for that country.
Number in international format.
The number as Prospeo stores it.
Number in national format.
True when the digits below are the full number rather than a masked preview.
Prospeo's verdict for the number, e.g. VERIFIED or UNAVAILABLE.
Prospeo's own person identifier. Send it back as this SKU's personId input.
Skills the person lists.
False when Prospeo matched nothing.
Always "AnyAPI".
True when this response replays the durable result of an earlier run without billing or upstream execution.
Optional one-line nudge, absent when there is nothing to say. large_result: suggests the fields/max_items/summary/jq controls for a big response. paging_unavailable: means this result came from a source that cannot return a nextCursor, so it may be INCOMPLETE and cannot be continued - re-run with requireCursor: true to be served only by a source that can page, which may cost more per request.
Present only when a jq expression failed; output then carries the full unshaped result and this explains why the reshape did not apply.
Opaque handle to the full unshaped result, cached ~15 min. Re-shape it for free (fields/max_items/summary/jq) via GET /v1/results/{id}, no re-billing. Absent when the result was too large to cache.