Examples use fictional data. Every company, person, address and count in them is invented, and their domains use the reserved .example TLD.
GTM data
Companies & people
Fetch a single record by id once search has found it, and walk from a company to the humans who work there.
GET
/v1/companies/{company_id}Retrieve a company
The full 93-field record, including the deep-research profile when one has been generated.
API key or session1 credit
Path parameters
| Field | Type | Description |
|---|---|---|
| company_idreq | string | Company identifier, e.g. cmp_3h8q1w6x0m4v9k2t7b. |
curl "https://beamro.com/api/v1/companies/cmp_3h8q1w6x0m4v9k2t7b" \
-H "x-api-key: $SALVO_API_KEY"200 response
{
"id": "cmp_3h8q1w6x0m4v9k2t7b",
"domain": "harlowmeadow.example",
"name": "Harlow Meadow Events",
"legal_name": "Harlow Meadow Events LLC",
"description": "Full-service event design studio for weddings and corporate galas.",
"ultimate_profile": "Designs and installs floral and lighting schemes for 60–90 events a year across the north-east US.",
"industry_nace": "N82.30",
"industry_labels": [
"Event management",
"Event design"
],
"employee_count": 24,
"employee_range": "11-50",
"revenue_range": "$1M-$10M",
"founded_year": 2011,
"country": "US",
"country_name": "United States",
"region": "north-america",
"city": "Providence",
"address": "100 Sample Street",
"lat": 41.824,
"lng": -71.4128,
"website": "https://harlowmeadow.example",
"linkedin_url": "https://www.linkedin.example/company/harlow-meadow-events",
"logo_url": null,
"tech_stack": [
"HubSpot",
"Squarespace",
"Stripe"
],
"socials": {
"instagram": "https://instagram.example/harlowmeadow"
},
"funding": null,
"registry": {
"number": "RG421887",
"status": "active"
},
"gmaps": {
"rating": 4.8,
"reviews": 214
},
"sources": [
"website",
"linkedin",
"gmaps"
],
"quality_score": 91,
"updated_at": "2026-08-14T09:12:44.000Z",
"credits_charged": 1
}Every call is charged — 1 credit, echoed in
credits_charged — so keep the record once you have it rather than fetching it again. Spending credits takes the member role: a session with the viewer role, or an API key with read-only scope, gets 403 forbidden before anything is read or charged. HEAD answers 405: a profile is read with GET.GET
/v1/companies/{company_id}/peopleList people at a company
Known contacts at one company, ordered by seniority: who works there, with title, seniority and email status. Email and phone come back masked.
API key or sessionFree — email and phone are masked
Path parameters
| Field | Type | Description |
|---|---|---|
| company_idreq | string | Company identifier. |
curl "https://beamro.com/api/v1/companies/cmp_3h8q1w6x0m4v9k2t7b/people" \
-H "x-api-key: $SALVO_API_KEY"200 response
{
"rows": [
{
"id": "per_2k7n4v9x1m6q0b3t8c",
"company_id": "cmp_3h8q1w6x0m4v9k2t7b",
"company_domain": "harlowmeadow.example",
"company_name": "Harlow Meadow Events",
"full_name": "Priya Whitcombe",
"first_name": "Priya",
"last_name": "Whitcombe",
"title": "Founder & Creative Director",
"seniority": "founder",
"department": "executive",
"linkedin_url": "https://www.linkedin.example/in/priya-whitcombe-4c",
"email": "p***@harlowmeadow.example",
"email_status": "valid",
"phone": null,
"country": "US",
"city": "Providence",
"updated_at": "2026-08-14T09:12:44.000Z"
},
{
"id": "per_5w1t8m3x6k0v9q2b4d",
"company_id": "cmp_3h8q1w6x0m4v9k2t7b",
"company_domain": "harlowmeadow.example",
"company_name": "Harlow Meadow Events",
"full_name": "Devon Aikhurst",
"first_name": "Devon",
"last_name": "Aikhurst",
"title": "Operations Manager",
"seniority": "manager",
"department": "operations",
"linkedin_url": "https://www.linkedin.example/in/devon-aikhurst-2f",
"email": "d***@harlowmeadow.example",
"email_status": "accept_all",
"phone": null,
"country": "US",
"city": "Providence",
"updated_at": "2026-08-14T09:12:44.000Z"
}
]
}Listing is free, so contact details stay masked (
p***@domain, the first digits of a phone number). Emails are revealed — and billed — through POST /v1/search/people, at 3 credits per revealed email.Notable company fields
Records are assembled from several sources and every one is named in sources, so you can decide what to trust. quality_score summarises coverage and freshness in a single number between 0 and 100.
| Field | Type | Notes |
|---|---|---|
ultimate_profile | string | null | What the company actually does, written from its own site. Populated by deep research. |
industry_labels | string[] | Human-readable labels; industry_nace carries the NACE code. |
tech_stack | string[] | Technologies detected on the public site. |
gmaps | object | null | Rating and review count when the company is matched to a place. |
registry | object | null | Company-registry number and status where the jurisdiction publishes it. |
sources | string[] | Any of website, linkedin, gmaps, registry. |
quality_score | number | null | 0-100 confidence in the record as a whole. |