Core identifiers
Every record links back to one of three identifiers. Getting these right is the foundation for every join, deduplication, and enrichment workflow.Developer rule of thumb
- Use Person when you care about who someone is — deduplication, career tracking, identity resolution.
- Use Contact when you care about where they work and in what role — outbound campaigns, enrichment, work email lookup.
- A person can have many contacts. A contact belongs to exactly one person and one organization.
Example: Jane Smith works at two companies
Person
One real human · RBID_PER
↙ 1 contact1 contact ↘
Contact A
Jane @ Acme Corp
RBID_PAO: rb-pao-001
Contact B
Jane @ Stripe
RBID_PAO: rb-pao-002
↓ RBID_ORG: rb-org-acme
↓ RBID_ORG: rb-org-stripe
Organization
Acme Corp · RBID_ORG
Organization
Stripe · RBID_ORG
Person
Contact (Person × Org)
Organization
If someone holds multiple current positions, they will have multiple rows in the person table — each with a unique
RBID_PAO but sharing the same RBID_PER.RBID_ORG and RBID_PAO may be missing if the person’s LinkedIn profile does not link to a company page. This occurs because the company name field on LinkedIn is free text — people can enter anything and may skip linking to an existing company page.Table index
For full field references, see Person, Organization, Insights, and Historical experience.
Schema conventions
- Timestamps —
UPDATED_ATandEMAIL_LAST_VERIFIED_ATare in UTC.UPDATED_ATchanges when any field is updated (LinkedIn profile revalidation also triggers it, even with no data changes).EMAIL_LAST_VERIFIED_ATtracks the last time the email address was independently revalidated. - Nullability — All fields are nullable. Missing values are
NULL— not empty strings or sentinel values. - Fill rates — Fill rate is the percentage of rows where a field is non-null. Rates vary by segment: US records and larger organizations typically have higher fill rates for phone, seniority, and financial data. See the Data Dictionary for per-field fill rates.
Delivery paths
In Snowflake, tables appear under theRELEASES database. For S3 deliveries, each table corresponds to a dataset folder in your bucket.
Entity reference
Person
A real human being. There is exactly one Person record per human, identified byRBID_PER. It holds identity-level data — name, personal email, LinkedIn URL.
Organization
A company. One record per company, identified byRBID_ORG. It holds firmographic data — headcount, revenue, industry, location.
Contact
The join between Person and Organization. Jane at Acme Corp is one Contact; Jane at Stripe is another. Each Contact gets a uniqueRBID_PAO, but the same RBID_PER threads through both. If a person holds multiple current positions, they appear in multiple rows — one per organization.
