Company Enrich
curl --request POST \
--url https://api.revenuebase.ai/v2/contact/company/enrich \
--header 'Content-Type: application/json' \
--header 'X-Key: <api-key>' \
--data '
{
"domains": [
"stripe.com",
"docs-example-no-match.invalid"
],
"columns": [
"RBID_ORG",
"COMPANY_NAME_ORG",
"DOMAIN_ORG"
]
}
'import requests
url = "https://api.revenuebase.ai/v2/contact/company/enrich"
payload = {
"domains": ["stripe.com", "docs-example-no-match.invalid"],
"columns": ["RBID_ORG", "COMPANY_NAME_ORG", "DOMAIN_ORG"]
}
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({
domains: ['stripe.com', 'docs-example-no-match.invalid'],
columns: ['RBID_ORG', 'COMPANY_NAME_ORG', 'DOMAIN_ORG']
})
};
fetch('https://api.revenuebase.ai/v2/contact/company/enrich', 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/company/enrich",
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([
'domains' => [
'stripe.com',
'docs-example-no-match.invalid'
],
'columns' => [
'RBID_ORG',
'COMPANY_NAME_ORG',
'DOMAIN_ORG'
]
]),
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/company/enrich"
payload := strings.NewReader("{\n \"domains\": [\n \"stripe.com\",\n \"docs-example-no-match.invalid\"\n ],\n \"columns\": [\n \"RBID_ORG\",\n \"COMPANY_NAME_ORG\",\n \"DOMAIN_ORG\"\n ]\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/company/enrich")
.header("X-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"domains\": [\n \"stripe.com\",\n \"docs-example-no-match.invalid\"\n ],\n \"columns\": [\n \"RBID_ORG\",\n \"COMPANY_NAME_ORG\",\n \"DOMAIN_ORG\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.revenuebase.ai/v2/contact/company/enrich")
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 \"domains\": [\n \"stripe.com\",\n \"docs-example-no-match.invalid\"\n ],\n \"columns\": [\n \"RBID_ORG\",\n \"COMPANY_NAME_ORG\",\n \"DOMAIN_ORG\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"matches": {
"stripe.com": {
"DOMAIN_ORG": "stripe.com",
"RBID_ORG": "rb-oacwbixtv",
"COMPANY_NAME_ORG": "Stripe"
}
},
"columns": [
"DOMAIN_ORG",
"RBID_ORG",
"COMPANY_NAME_ORG"
],
"matched": 1,
"total": 2
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Company Endpoints
Company Enrich
Retrieve company records for domains, LinkedIn URLs, or company identifiers you already have.
POST
/
company
/
enrich
Company Enrich
curl --request POST \
--url https://api.revenuebase.ai/v2/contact/company/enrich \
--header 'Content-Type: application/json' \
--header 'X-Key: <api-key>' \
--data '
{
"domains": [
"stripe.com",
"docs-example-no-match.invalid"
],
"columns": [
"RBID_ORG",
"COMPANY_NAME_ORG",
"DOMAIN_ORG"
]
}
'import requests
url = "https://api.revenuebase.ai/v2/contact/company/enrich"
payload = {
"domains": ["stripe.com", "docs-example-no-match.invalid"],
"columns": ["RBID_ORG", "COMPANY_NAME_ORG", "DOMAIN_ORG"]
}
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({
domains: ['stripe.com', 'docs-example-no-match.invalid'],
columns: ['RBID_ORG', 'COMPANY_NAME_ORG', 'DOMAIN_ORG']
})
};
fetch('https://api.revenuebase.ai/v2/contact/company/enrich', 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/company/enrich",
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([
'domains' => [
'stripe.com',
'docs-example-no-match.invalid'
],
'columns' => [
'RBID_ORG',
'COMPANY_NAME_ORG',
'DOMAIN_ORG'
]
]),
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/company/enrich"
payload := strings.NewReader("{\n \"domains\": [\n \"stripe.com\",\n \"docs-example-no-match.invalid\"\n ],\n \"columns\": [\n \"RBID_ORG\",\n \"COMPANY_NAME_ORG\",\n \"DOMAIN_ORG\"\n ]\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/company/enrich")
.header("X-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"domains\": [\n \"stripe.com\",\n \"docs-example-no-match.invalid\"\n ],\n \"columns\": [\n \"RBID_ORG\",\n \"COMPANY_NAME_ORG\",\n \"DOMAIN_ORG\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.revenuebase.ai/v2/contact/company/enrich")
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 \"domains\": [\n \"stripe.com\",\n \"docs-example-no-match.invalid\"\n ],\n \"columns\": [\n \"RBID_ORG\",\n \"COMPANY_NAME_ORG\",\n \"DOMAIN_ORG\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"matches": {
"stripe.com": {
"DOMAIN_ORG": "stripe.com",
"RBID_ORG": "rb-oacwbixtv",
"COMPANY_NAME_ORG": "Stripe"
}
},
"columns": [
"DOMAIN_ORG",
"RBID_ORG",
"COMPANY_NAME_ORG"
],
"matched": 1,
"total": 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 | PAYG | AYCE |
|---|---|---|
| Returned company match | 1 credit per match | Unlimited 0 credits |
| Selected company fields | Included in the row price | Included 0 credits |
| Input identifiers | 10,000 combined | 10,000 combined |
When to use Company Enrich
Use a known list of domains, company LinkedIn URLs, or RBID_ORGs. Send the list in one JSON request; no file upload is required. This retrieves stored company data. It does not verify a person’s email address.Example
SetREVENUEBASE_API_KEY to your API key.
curl --request POST 'https://api.revenuebase.ai/v2/contact/company/enrich' \
--header "X-Key: $REVENUEBASE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"domains": [
"stripe.com",
"docs-example-no-match.invalid"
],
"columns": [
"RBID_ORG",
"COMPANY_NAME_ORG",
"DOMAIN_ORG"
]
}'
{
"matches": {
"stripe.com": {
"DOMAIN_ORG": "stripe.com",
"RBID_ORG": "rb-oacwbixtv",
"COMPANY_NAME_ORG": "Stripe"
}
},
"columns": [
"DOMAIN_ORG",
"RBID_ORG",
"COMPANY_NAME_ORG"
],
"matched": 1,
"total": 2
}
Read the matches
| Field | Meaning |
|---|---|
matches | Objects keyed by normalized input identifiers. Unmatched inputs are omitted. |
matched | Returned match entries, rather than necessarily distinct companies. |
total | Accepted distinct identifiers after normalization and deduplication. |
columns | Returned field names, including lookup keys and the company ID. |
Inputs and fields
| Input | Meaning |
|---|---|
domains | Company domains. Normalized to lowercase bare hosts; common URL prefixes and paths are removed. |
linkedinUrls | Company LinkedIn URLs. Lowercased and trailing slash removed; use the complete company URL. |
rbidOrgs | Company identifiers from a company result. Trimmed and lowercased. |
columns | Request fields explicitly. Omitted or empty returns lookup keys and the company ID. ["*"] expands to all company catalog fields. |
Control the hold and final charge
PAYG reserves one credit per submitted array entry before normalization or deduplication. Have enough balance for that hold. The final charge is one credit per returned match; unused held credits are released. Unmatched inputs add no row charge. There is no SmartSearch fee. Deduplicate your input before sending it. The same company supplied as both a domain and a LinkedIn URL can produce two match entries and two row charges. Prefer one identifier per company when possible. Repeating a paid request can charge again.Errors and next steps
A 402 response means the balance cannot cover the hold; reduce your input or add credits. Respect Retry-After for transient credit-service or rate-limit failures. Use Company Count to discover an audience by criteria, or Company Export for a file.Authorizations
Body
application/json
Company enrich keys: domains, company LinkedIn URLs and/or RBID_ORGs.
Domains to look up. Combined maximum with LinkedIn URLs and RBIDs is 10,000 normalized distinct identifiers.
Company LinkedIn URLs, combined with the other identifier lists for the 10,000 cap.
Company IDs, combined with domains and LinkedIn URLs for the 10,000 cap.
Company fields to return; request them explicitly. ["*"] expands to all company fields.
Response
Successful Response
The response is of type Response Company Enrich V1 Company Enrich Post · object.
Was this page helpful?
