View
curl --request POST \
--url https://api.revenuebase.ai/v2/contact/view \
--header 'Content-Type: application/json' \
--header 'X-Key: <api-key>' \
--data '
{
"filter": {
"type": "group",
"op": "AND",
"children": [
{
"type": "condition",
"column": "COUNTRY_NAME_PER",
"operator": "eq",
"value": "United States"
},
{
"type": "condition",
"column": "JOB_LEVEL_PER",
"operator": "eq",
"value": "VP"
}
]
},
"columns": [
"RBID_PAO",
"FULL_NAME_PER",
"JOB_TITLE_PER",
"COMPANY_NAME_ORG",
"EMAIL_ADDRESS_PER",
"CELLPHONE_PER"
],
"limit": 2
}
'import requests
url = "https://api.revenuebase.ai/v2/contact/view"
payload = {
"filter": {
"type": "group",
"op": "AND",
"children": [
{
"type": "condition",
"column": "COUNTRY_NAME_PER",
"operator": "eq",
"value": "United States"
},
{
"type": "condition",
"column": "JOB_LEVEL_PER",
"operator": "eq",
"value": "VP"
}
]
},
"columns": ["RBID_PAO", "FULL_NAME_PER", "JOB_TITLE_PER", "COMPANY_NAME_ORG", "EMAIL_ADDRESS_PER", "CELLPHONE_PER"],
"limit": 2
}
headers = {
"X-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
filter: {
type: 'group',
op: 'AND',
children: [
{
type: 'condition',
column: 'COUNTRY_NAME_PER',
operator: 'eq',
value: 'United States'
},
{type: 'condition', column: 'JOB_LEVEL_PER', operator: 'eq', value: 'VP'}
]
},
columns: [
'RBID_PAO',
'FULL_NAME_PER',
'JOB_TITLE_PER',
'COMPANY_NAME_ORG',
'EMAIL_ADDRESS_PER',
'CELLPHONE_PER'
],
limit: 2
})
};
fetch('https://api.revenuebase.ai/v2/contact/view', 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.revenuebase.ai/v2/contact/view",
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([
'filter' => [
'type' => 'group',
'op' => 'AND',
'children' => [
[
'type' => 'condition',
'column' => 'COUNTRY_NAME_PER',
'operator' => 'eq',
'value' => 'United States'
],
[
'type' => 'condition',
'column' => 'JOB_LEVEL_PER',
'operator' => 'eq',
'value' => 'VP'
]
]
],
'columns' => [
'RBID_PAO',
'FULL_NAME_PER',
'JOB_TITLE_PER',
'COMPANY_NAME_ORG',
'EMAIL_ADDRESS_PER',
'CELLPHONE_PER'
],
'limit' => 2
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-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.revenuebase.ai/v2/contact/view"
payload := strings.NewReader("{\n \"filter\": {\n \"type\": \"group\",\n \"op\": \"AND\",\n \"children\": [\n {\n \"type\": \"condition\",\n \"column\": \"COUNTRY_NAME_PER\",\n \"operator\": \"eq\",\n \"value\": \"United States\"\n },\n {\n \"type\": \"condition\",\n \"column\": \"JOB_LEVEL_PER\",\n \"operator\": \"eq\",\n \"value\": \"VP\"\n }\n ]\n },\n \"columns\": [\n \"RBID_PAO\",\n \"FULL_NAME_PER\",\n \"JOB_TITLE_PER\",\n \"COMPANY_NAME_ORG\",\n \"EMAIL_ADDRESS_PER\",\n \"CELLPHONE_PER\"\n ],\n \"limit\": 2\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-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.revenuebase.ai/v2/contact/view")
.header("X-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"filter\": {\n \"type\": \"group\",\n \"op\": \"AND\",\n \"children\": [\n {\n \"type\": \"condition\",\n \"column\": \"COUNTRY_NAME_PER\",\n \"operator\": \"eq\",\n \"value\": \"United States\"\n },\n {\n \"type\": \"condition\",\n \"column\": \"JOB_LEVEL_PER\",\n \"operator\": \"eq\",\n \"value\": \"VP\"\n }\n ]\n },\n \"columns\": [\n \"RBID_PAO\",\n \"FULL_NAME_PER\",\n \"JOB_TITLE_PER\",\n \"COMPANY_NAME_ORG\",\n \"EMAIL_ADDRESS_PER\",\n \"CELLPHONE_PER\"\n ],\n \"limit\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.revenuebase.ai/v2/contact/view")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filter\": {\n \"type\": \"group\",\n \"op\": \"AND\",\n \"children\": [\n {\n \"type\": \"condition\",\n \"column\": \"COUNTRY_NAME_PER\",\n \"operator\": \"eq\",\n \"value\": \"United States\"\n },\n {\n \"type\": \"condition\",\n \"column\": \"JOB_LEVEL_PER\",\n \"operator\": \"eq\",\n \"value\": \"VP\"\n }\n ]\n },\n \"columns\": [\n \"RBID_PAO\",\n \"FULL_NAME_PER\",\n \"JOB_TITLE_PER\",\n \"COMPANY_NAME_ORG\",\n \"EMAIL_ADDRESS_PER\",\n \"CELLPHONE_PER\"\n ],\n \"limit\": 2\n}"
response = http.request(request)
puts response.read_body{
"rows": [
{
"RBID_PAO": "rb-pab23456t-rb-oadkxzpcq",
"FULL_NAME_PER": "Matthew Tobin",
"JOB_TITLE_PER": "Senior Vice President Business Development",
"COMPANY_NAME_ORG": "Ecapital Corp",
"hasEmail": true,
"hasMobile": false
},
{
"RBID_PAO": "rb-pab2346sr-rb-oacopeifk",
"FULL_NAME_PER": "Katherine Collins",
"JOB_TITLE_PER": "AVP of Claim Operations",
"COMPANY_NAME_ORG": "Travelers",
"hasEmail": true,
"hasMobile": true
}
],
"columns": [
"RBID_PAO",
"FULL_NAME_PER",
"JOB_TITLE_PER",
"COMPANY_NAME_ORG",
"hasEmail",
"hasMobile"
],
"columnLabels": {
"RBID_PAO": "Rbid Person And Organization",
"FULL_NAME_PER": "Person Full Name",
"JOB_TITLE_PER": "Job Title",
"COMPANY_NAME_ORG": "Company Name",
"hasEmail": "hasEmail",
"hasMobile": "hasMobile"
},
"rowCount": 2,
"limit": 2
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Contact Endpoints
View a free contact sample
Check a sample of matching people before retrieving their contact details.
POST
/
view
View
curl --request POST \
--url https://api.revenuebase.ai/v2/contact/view \
--header 'Content-Type: application/json' \
--header 'X-Key: <api-key>' \
--data '
{
"filter": {
"type": "group",
"op": "AND",
"children": [
{
"type": "condition",
"column": "COUNTRY_NAME_PER",
"operator": "eq",
"value": "United States"
},
{
"type": "condition",
"column": "JOB_LEVEL_PER",
"operator": "eq",
"value": "VP"
}
]
},
"columns": [
"RBID_PAO",
"FULL_NAME_PER",
"JOB_TITLE_PER",
"COMPANY_NAME_ORG",
"EMAIL_ADDRESS_PER",
"CELLPHONE_PER"
],
"limit": 2
}
'import requests
url = "https://api.revenuebase.ai/v2/contact/view"
payload = {
"filter": {
"type": "group",
"op": "AND",
"children": [
{
"type": "condition",
"column": "COUNTRY_NAME_PER",
"operator": "eq",
"value": "United States"
},
{
"type": "condition",
"column": "JOB_LEVEL_PER",
"operator": "eq",
"value": "VP"
}
]
},
"columns": ["RBID_PAO", "FULL_NAME_PER", "JOB_TITLE_PER", "COMPANY_NAME_ORG", "EMAIL_ADDRESS_PER", "CELLPHONE_PER"],
"limit": 2
}
headers = {
"X-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
filter: {
type: 'group',
op: 'AND',
children: [
{
type: 'condition',
column: 'COUNTRY_NAME_PER',
operator: 'eq',
value: 'United States'
},
{type: 'condition', column: 'JOB_LEVEL_PER', operator: 'eq', value: 'VP'}
]
},
columns: [
'RBID_PAO',
'FULL_NAME_PER',
'JOB_TITLE_PER',
'COMPANY_NAME_ORG',
'EMAIL_ADDRESS_PER',
'CELLPHONE_PER'
],
limit: 2
})
};
fetch('https://api.revenuebase.ai/v2/contact/view', 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.revenuebase.ai/v2/contact/view",
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([
'filter' => [
'type' => 'group',
'op' => 'AND',
'children' => [
[
'type' => 'condition',
'column' => 'COUNTRY_NAME_PER',
'operator' => 'eq',
'value' => 'United States'
],
[
'type' => 'condition',
'column' => 'JOB_LEVEL_PER',
'operator' => 'eq',
'value' => 'VP'
]
]
],
'columns' => [
'RBID_PAO',
'FULL_NAME_PER',
'JOB_TITLE_PER',
'COMPANY_NAME_ORG',
'EMAIL_ADDRESS_PER',
'CELLPHONE_PER'
],
'limit' => 2
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-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.revenuebase.ai/v2/contact/view"
payload := strings.NewReader("{\n \"filter\": {\n \"type\": \"group\",\n \"op\": \"AND\",\n \"children\": [\n {\n \"type\": \"condition\",\n \"column\": \"COUNTRY_NAME_PER\",\n \"operator\": \"eq\",\n \"value\": \"United States\"\n },\n {\n \"type\": \"condition\",\n \"column\": \"JOB_LEVEL_PER\",\n \"operator\": \"eq\",\n \"value\": \"VP\"\n }\n ]\n },\n \"columns\": [\n \"RBID_PAO\",\n \"FULL_NAME_PER\",\n \"JOB_TITLE_PER\",\n \"COMPANY_NAME_ORG\",\n \"EMAIL_ADDRESS_PER\",\n \"CELLPHONE_PER\"\n ],\n \"limit\": 2\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-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.revenuebase.ai/v2/contact/view")
.header("X-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"filter\": {\n \"type\": \"group\",\n \"op\": \"AND\",\n \"children\": [\n {\n \"type\": \"condition\",\n \"column\": \"COUNTRY_NAME_PER\",\n \"operator\": \"eq\",\n \"value\": \"United States\"\n },\n {\n \"type\": \"condition\",\n \"column\": \"JOB_LEVEL_PER\",\n \"operator\": \"eq\",\n \"value\": \"VP\"\n }\n ]\n },\n \"columns\": [\n \"RBID_PAO\",\n \"FULL_NAME_PER\",\n \"JOB_TITLE_PER\",\n \"COMPANY_NAME_ORG\",\n \"EMAIL_ADDRESS_PER\",\n \"CELLPHONE_PER\"\n ],\n \"limit\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.revenuebase.ai/v2/contact/view")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filter\": {\n \"type\": \"group\",\n \"op\": \"AND\",\n \"children\": [\n {\n \"type\": \"condition\",\n \"column\": \"COUNTRY_NAME_PER\",\n \"operator\": \"eq\",\n \"value\": \"United States\"\n },\n {\n \"type\": \"condition\",\n \"column\": \"JOB_LEVEL_PER\",\n \"operator\": \"eq\",\n \"value\": \"VP\"\n }\n ]\n },\n \"columns\": [\n \"RBID_PAO\",\n \"FULL_NAME_PER\",\n \"JOB_TITLE_PER\",\n \"COMPANY_NAME_ORG\",\n \"EMAIL_ADDRESS_PER\",\n \"CELLPHONE_PER\"\n ],\n \"limit\": 2\n}"
response = http.request(request)
puts response.read_body{
"rows": [
{
"RBID_PAO": "rb-pab23456t-rb-oadkxzpcq",
"FULL_NAME_PER": "Matthew Tobin",
"JOB_TITLE_PER": "Senior Vice President Business Development",
"COMPANY_NAME_ORG": "Ecapital Corp",
"hasEmail": true,
"hasMobile": false
},
{
"RBID_PAO": "rb-pab2346sr-rb-oacopeifk",
"FULL_NAME_PER": "Katherine Collins",
"JOB_TITLE_PER": "AVP of Claim Operations",
"COMPANY_NAME_ORG": "Travelers",
"hasEmail": true,
"hasMobile": true
}
],
"columns": [
"RBID_PAO",
"FULL_NAME_PER",
"JOB_TITLE_PER",
"COMPANY_NAME_ORG",
"hasEmail",
"hasMobile"
],
"columnLabels": {
"RBID_PAO": "Rbid Person And Organization",
"FULL_NAME_PER": "Person Full Name",
"JOB_TITLE_PER": "Job Title",
"COMPANY_NAME_ORG": "Company Name",
"hasEmail": "hasEmail",
"hasMobile": "hasMobile"
},
"rowCount": 2,
"limit": 2
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Credits and plans
PAYG is Pay-as-you-go. AYCE is All-you-can-eat.| Usage or limit | PAYG | AYCE |
|---|---|---|
| Masked sample, including SmartSearch filters | Free 0 credits | Included 0 credits |
| Rows per request | Up to 100 | Up to 100 |
| Sample rows per API key per UTC day | 100,000 | 100,000 |
When to use View
Call Count first to size the audience, then reuse its filter here. You can refine and inspect the sample without paying for contact details.Example: inspect two matching contacts
Set your API key asREVENUEBASE_API_KEY. This uses the same audience
as the Count example and requests availability for email and mobile.
curl --request POST 'https://api.revenuebase.ai/v2/contact/view' \
--header "X-Key: $REVENUEBASE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"filter": {
"type": "group",
"op": "AND",
"children": [
{
"type": "condition",
"column": "COUNTRY_NAME_PER",
"operator": "eq",
"value": "United States"
},
{
"type": "condition",
"column": "JOB_LEVEL_PER",
"operator": "eq",
"value": "VP"
}
]
},
"columns": [
"RBID_PAO",
"FULL_NAME_PER",
"JOB_TITLE_PER",
"COMPANY_NAME_ORG",
"EMAIL_ADDRESS_PER",
"CELLPHONE_PER"
],
"limit": 2
}'
{
"rows": [
{
"RBID_PAO": "rb-pab23456t-rb-oadkxzpcq",
"FULL_NAME_PER": "Matthew Tobin",
"JOB_TITLE_PER": "Senior Vice President Business Development",
"COMPANY_NAME_ORG": "Ecapital Corp",
"hasEmail": true,
"hasMobile": false
},
{
"RBID_PAO": "rb-pab2346sr-rb-oacopeifk",
"FULL_NAME_PER": "Katherine Collins",
"JOB_TITLE_PER": "AVP of Claim Operations",
"COMPANY_NAME_ORG": "Travelers",
"hasEmail": true,
"hasMobile": true
}
],
"columns": [
"RBID_PAO",
"FULL_NAME_PER",
"JOB_TITLE_PER",
"COMPANY_NAME_ORG",
"hasEmail",
"hasMobile"
],
"columnLabels": {
"RBID_PAO": "Rbid Person And Organization",
"FULL_NAME_PER": "Person Full Name",
"JOB_TITLE_PER": "Job Title",
"COMPANY_NAME_ORG": "Company Name",
"hasEmail": "hasEmail",
"hasMobile": "hasMobile"
},
"rowCount": 2,
"limit": 2
}
| Field | What it means |
|---|---|
rows | The sample records. Email/mobile values are never revealed by this endpoint. |
hasEmail, hasMobile | Whether the corresponding contact detail is available; these are booleans, not contact details. |
RBID_PAO | The stable person-at-company identifier, included even if omitted from columns. Use it as a personIds value in Enrich to retrieve a chosen row. |
columns, columnLabels | Returned field names and display labels. Masked fields use hasEmail / hasMobile. |
rowCount, limit | Rows returned and the applied sample limit. These are not the full audience total. |
Limits and errors
- Up to 100 rows per call. Higher limits are clamped to 100; omit
limitto use that cap. - A 100,000-row daily budget per API key, resetting at UTC midnight.
Read
X-FreePreview-Remainingto track it. Repeated samples count toward this row budget even though they cost no credits. 429 FREE_PREVIEW_CAP_REACHEDmeans the daily budget is exhausted. Wait for the reset. Other429responses use the ordinary request rate limit.422means the filter or requested column needs correction.
includeScores
when you want similarity information for a SmartSearch sample.
Next: choose records and estimate the cost
To retrieve selected rows, pass theirRBID_PAO values as personIds
to Enrich, with an explicit reveal choice.
To download a filtered list, reuse the filter with
Estimate, set maxRows, and choose
whether to buy email, mobile, both, or neither.Authorizations
Body
application/json
Free masked contact sample. Requested email/mobile fields become hasEmail/hasMobile booleans. Use paid retrieval to reveal values.
Reuse the audience filter from Count. Omitted/null selects the entire dataset.
Show child attributes
Show child attributes
Fields to inspect. Email/mobile fields are masked. RBID_PAO is always included as the stable row identifier.
Maximum sample rows. Clamped to 1–100; omitted/null uses 100. This is a sample size, not an audience total or pagination size.
Include similarity scores when using semantic/lookalike filters.
Response
Successful Response
Was this page helpful?
