openapi: 3.1.0
info:
title: FullEnrich Lookup API
description: Look up a single best-matching person or company from identifiers. FullEnrich API enables
you to enrich B2B contacts with emails and phone numbers using data from 20+ providers. We are GDPR
and CCPA compliant.
version: 2.0.0
contact:
name: FullEnrich Support
url: https://docs.fullenrich.com
termsOfService: https://fullenrich.com/tos
servers:
- url: https://app.fullenrich.com/api/v2
security:
- BearerAuth: []
tags:
- name: Lookup
description: Look up a single best-matching person or company from identifiers.
paths:
/people/lookup:
post:
summary: Look up people
description: Look up a single person using their identifiers (professional network URL/ID, or full
name combined with a company identifier). Returns the best matching person.
operationId: postPeopleLookup
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LookUpPeopleRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/LookUpPeopleResponse'
- $ref: '#/components/schemas/LookUpMetadata'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
AuthorizationHeaderNotSet:
value:
code: error.authorization.not_set
message: Authorization headers not set
AuthorizationHeaderNotAnBearer:
value:
code: error.authorization.not_bearer
message: Authorization headers do not have prefix 'bearer'
UnknownApiKey:
value:
code: error.api.key
message: Unknown api key
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
RateLimitExceeded:
value:
code: error.rate.limit
message: Too many requests. Try again in 1m
security:
- BearerAuth: []
tags:
- Lookup
/company/lookup:
post:
summary: Look up company
description: Look up a single company using its identifiers (domain, or professional network URL/ID).
Returns the best matching company.
operationId: postCompanyLookup
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LookUpCompanyRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/LookUpCompanyResponse'
- $ref: '#/components/schemas/LookUpMetadata'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
AuthorizationHeaderNotSet:
value:
code: error.authorization.not_set
message: Authorization headers not set
AuthorizationHeaderNotAnBearer:
value:
code: error.authorization.not_bearer
message: Authorization headers do not have prefix 'bearer'
UnknownApiKey:
value:
code: error.api.key
message: Unknown api key
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
RateLimitExceeded:
value:
code: error.rate.limit
message: Too many requests. Try again in 1m
security:
- BearerAuth: []
tags:
- Lookup
components:
schemas:
Company:
type: object
properties:
id:
type: string
description: Unique company identifier
example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
name:
type: string
description: Company name
example: Anthropic
domain:
type: string
description: Company domain
example: anthropic.com
website:
type: string
description: Company website URL as declared by the company. May differ from `domain` (can include
a subdomain, a path or tracking parameters). Omitted when not available.
example: https://www.anthropic.com
description:
type: string
description: Company description
example: AI safety and research company building reliable, interpretable, and steerable AI systems.
year_founded:
type: integer
description: Year the company was founded. Returns 0 when unknown.
example: 2021
headcount:
type: integer
description: Exact number of employees. May return 0 even when headcount_range is available.
example: 2610
headcount_range:
type: string
description: Employee count range (e.g., '1-10', '11-50', '51-200', '201-500', '501-1000', '1001-5000',
'5001-10000', '10001+')
example: 1001-5000
company_type:
type: string
description: Type of company (e.g., 'Public Company', 'Privately Held', 'Nonprofit', 'Self-Employed',
'Partnership', 'Educational', 'Government Agency')
example: Privately Held
locations:
type: object
description: Company location information
properties:
headquarters:
type: object
description: Main headquarters address with structured location fields. Can be an empty
object when no headquarters data is available.
allOf:
- $ref: '#/components/schemas/CompanyAddress'
offices:
type: array
description: Additional office locations. Only contains raw address lines (line1, line2)
without structured city/region/country fields. Can be null or an empty array.
nullable: true
items:
$ref: '#/components/schemas/OfficeAddress'
social_profiles:
type: object
description: Company's social media profiles
allOf:
- $ref: '#/components/schemas/CompanySocialProfile'
specialties:
type: array
description: Specialties associated with the company
items:
type: string
example:
- artificial intelligence
- machine learning
- AI safety
industry:
type: object
description: Company industry information
properties:
main_industry:
type: string
description: Primary industry category (e.g., 'Software Development', 'Computer Hardware
Manufacturing', 'Financial Services', 'Healthcare', 'Retail')
example: Software Development
logo_url:
type: string
description: URL of the company logo hosted by FullEnrich, built from the company's professional
network handle. Empty when the handle is unknown.
example: https://app.fullenrich.com/logo/company/handle/anthropic
CompanyAddress:
type: object
description: Structured headquarters address with parsed location fields
properties:
line1:
type: string
description: Address line 1 (street address)
example: 548 Market St
line2:
type: string
description: Address line 2 (full location string including city, region, postal code, and country
code)
example: San Francisco, CA 94105, US
city:
type: string
description: City name
example: San Francisco
region:
type: string
description: State or region
example: California
country:
type: string
description: Country name
example: United States
country_code:
type: string
description: ISO country code
example: US
CompanySocialProfile:
type: object
properties:
professional_network:
type: object
description: Professional network profile information
properties:
id:
type: integer
description: Professional network profile ID
example: 1234
url:
type: string
description: Full professional network profile URL
example: https://www.linkedin.com/company/anthropic
handle:
type: string
description: Professional network profile handle/username
example: anthropic
connection_count:
type: integer
description: Number of professional network followers
example: 125000
Employment:
type: object
properties:
title:
type: string
description: Job title or position
example: Senior Software Engineer
seniority:
type: string
description: Seniority level of the person in the company
example: Senior
job_functions:
type: array
description: Job functions of the person in the company
items:
type: object
properties:
function:
type: string
description: Job function
example: Not Employed
sub_function:
type: string
description: Sub function of the job function
example: Freelancer
description:
type: string
description: Description of the role and responsibilities. Not always present.
example: Leading the backend team and designing microservices architecture.
company:
type: object
description: Company information
allOf:
- $ref: '#/components/schemas/EmploymentCompany'
is_current:
type: boolean
description: Whether this is the current employment
example: true
start_at:
type: string
format: date-time
description: Employment start date in ISO 8601 format with T separator (YYYY-MM-DDTHH:MM:SSZ)
example: '2022-03-15T00:00:00Z'
end_at:
type: string
format: date-time
description: Employment end date in ISO 8601 format with T separator (YYYY-MM-DDTHH:MM:SSZ).
This field is not returned for current employment (when is_current is true).
example: '2024-06-30T00:00:00Z'
EmploymentCompany:
type: object
properties:
id:
type: string
description: Unique company identifier
example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
name:
type: string
description: Company name
example: Anthropic
domain:
type: string
description: Company domain
example: anthropic.com
website:
type: string
description: Company website URL as declared by the company. May differ from `domain` (can include
a subdomain, a path or tracking parameters). Omitted when not available.
example: https://www.anthropic.com
description:
type: string
description: Company description
example: AI safety and research company
year_founded:
type: integer
description: Year the company was founded. Returns 0 when unknown.
example: 2021
headcount:
type: integer
description: Exact number of employees. May return 0 even when headcount_range is available.
example: 2610
headcount_range:
type: string
description: Employee count range (e.g., '1-10', '11-50', '51-200', '201-500', '501-1000', '1001-5000',
'5001-10000', '10001+')
example: 1001-5000
company_type:
type: string
description: Type of company (e.g., 'Public Company', 'Privately Held', 'Nonprofit', 'Self-Employed',
'Partnership', 'Educational', 'Government Agency')
example: Privately Held
specialties:
type: array
description: Specialties associated with the company
items:
type: string
example:
- Data Enrichment
- B2B Data
locations:
type: object
description: Company location information
properties:
headquarters:
type: object
description: Main headquarters address with structured location fields. Can be an empty
object when no headquarters data is available.
allOf:
- $ref: '#/components/schemas/CompanyAddress'
offices:
type: array
description: Additional office locations. Only contains raw address lines (line1, line2)
without structured city/region/country fields. Can be null or an empty array.
nullable: true
items:
$ref: '#/components/schemas/OfficeAddress'
industry:
type: object
description: Company industry information
properties:
main_industry:
type: string
description: Primary industry category (e.g., 'Software Development', 'Computer Hardware
Manufacturing', 'Financial Services', 'Healthcare')
example: Software Development
social_profiles:
type: object
description: Company's social media profiles
allOf:
- $ref: '#/components/schemas/CompanySocialProfile'
logo_url:
type: string
description: URL of the company logo hosted by FullEnrich, built from the company's professional
network handle. Empty when the handle is unknown.
example: https://app.fullenrich.com/logo/company/handle/anthropic
Error:
type: object
properties:
code:
type: string
message:
type: string
required:
- code
- message
LookUpCompanyRequest:
type: object
description: Provide at least one identifier to match a single company. The domain or professional
network URL/ID give the most reliable match.
properties:
domain:
type: string
description: Company domain to look up.
example: anthropic.com
professional_network_url:
type: string
description: Professional network URL of the company.
example: https://www.linkedin.com/company/anthropic
professional_network_id:
type: integer
description: Professional network ID of the company.
example: 1883877
LookUpCompanyResponse:
type: object
properties:
companies:
type: array
description: Array containing the matching company. Returns an empty array if no match is found.
items:
$ref: '#/components/schemas/Company'
LookUpMetadata:
type: object
properties:
metadata:
type: object
properties:
credits:
type: number
format: double
description: Total number of credits consumed
example: 0.25
LookUpPeopleRequest:
type: object
description: Provide at least one identifier to match a single person. The professional network
URL or ID is the most reliable. A full name can be combined with a company identifier (domain,
professional network URL, or professional network ID) to disambiguate the match.
properties:
person_name:
type: string
description: Full name of the person to look up.
example: Enzo Romera
person_professional_network_url:
type: string
description: Professional network profile URL of the person.
example: https://www.linkedin.com/in/enzo-romera
person_professional_network_id:
type: integer
description: Professional network profile ID of the person.
example: 530992355
company_professional_network_url:
type: string
description: Professional network URL of the company the person works for. Used to disambiguate
when looking up by name.
example: https://www.linkedin.com/company/anthropic
company_professional_network_id:
type: integer
description: Professional network ID of the company the person works for. Used to disambiguate
when looking up by name.
example: 1883877
company_domain:
type: string
description: Domain of the company the person works for. Used to disambiguate when looking up
by name.
example: anthropic.com
LookUpPeopleResponse:
type: object
properties:
people:
type: array
description: Array containing the matching person. Returns an empty array if no match is found.
items:
$ref: '#/components/schemas/Person'
OfficeAddress:
type: object
description: Office address. Unlike headquarters, office addresses only contain raw address lines
without parsed location fields.
properties:
line1:
type: string
description: Street address
example: 111 8th Ave
line2:
type: string
description: Full location string (city, region, postal code, country code)
example: New York, NY 10011, US
Person:
type: object
properties:
id:
type: string
description: Unique person identifier
example: 746e4816-19c8-54d8-b558-65a5a52cc85c
full_name:
type: string
description: Person's full name
example: Enzo Romera
first_name:
type: string
description: Person's first name
example: Enzo
last_name:
type: string
description: Person's last name
example: Romera
headline:
type: string
description: Short professional tagline written by the person on their professional network
profile
example: Marketing Strategist | 10+ Years in Strategy, Account Management & Activation | Consulting
Expert
description:
type: string
description: Free-text summary written by the person in the about section of their professional
network profile. Omitted when not available.
example: Marketing strategist with 10+ years helping B2B companies build demand generation engines.
I work with go-to-market teams on positioning, account-based campaigns and channel activation.
location:
type: object
description: Person's location information
properties:
country:
type: string
description: Country name
example: United States
country_code:
type: string
description: ISO country code
example: US
city:
type: string
description: City name
example: San Francisco
region:
type: string
description: Region or state
example: California
social_profiles:
type: object
description: Person's social media profiles
allOf:
- $ref: '#/components/schemas/PersonSocialProfile'
educations:
type: array
description: Person's education history
items:
$ref: '#/components/schemas/PersonEducation'
languages:
type: array
description: Languages spoken by the person
items:
$ref: '#/components/schemas/PersonLanguage'
skills:
type: array
description: Person's professional skills
items:
type: string
example:
- JavaScript
- Project Management
- Python
employment:
type: object
description: Person's employment history
properties:
current:
type: object
description: Current employment information. If the person is in their current position,
the end_at field will not be returned.
allOf:
- $ref: '#/components/schemas/Employment'
all:
type: array
description: All employment history (current and past)
items:
$ref: '#/components/schemas/Employment'
PersonEducation:
type: object
properties:
school_name:
type: string
description: Name of the educational institution
example: Stanford University
degree:
type: string
description: Degree or qualification obtained
example: Bachelor of Science in Computer Science
start_at:
type: string
format: date-time
description: Start date in ISO 8601 format with T separator (YYYY-MM-DDTHH:MM:SSZ)
example: '2015-09-01T00:00:00Z'
end_at:
type: string
format: date-time
description: End date in ISO 8601 format with T separator (YYYY-MM-DDTHH:MM:SSZ)
example: '2019-06-01T00:00:00Z'
PersonLanguage:
type: object
properties:
language:
type: string
description: Language name
example: French
proficiency:
type: string
description: Proficiency level in the language (e.g., 'NATIVE_OR_BILINGUAL', 'FULL_PROFESSIONAL',
'PROFESSIONAL_WORKING', 'LIMITED_WORKING', 'ELEMENTARY')
example: NATIVE_OR_BILINGUAL
PersonSocialProfile:
type: object
properties:
professional_network:
type: object
description: Professional network profile information
properties:
id:
type: integer
description: Professional network profile ID
example: 1234
url:
type: string
description: Full professional network profile URL
example: https://www.linkedin.com/in/john-doe
handle:
type: string
description: Professional network profile handle/username
example: john-doe
connection_count:
type: integer
description: Number of professional network connections
example: 500
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: string