OpenAPI Specification
openapi: 3.0.3
info:
title: UpLead Account Company API
description: REST API for accessing UpLead's B2B contact and company database. Supports company search and enrichment, person search and enrichment, combined person-and-company lookup, prospector search for discovering contacts by title or function, email verification, credit balance checking, and list management.
version: 2.0.0
contact:
name: UpLead Support
url: https://www.uplead.com/contact/
termsOfService: https://www.uplead.com/terms/
license:
name: Proprietary
servers:
- url: https://api.uplead.com/v2
description: UpLead API v2
- url: https://logo.uplead.com
description: UpLead Logo CDN
security:
- ApiKeyAuth: []
tags:
- name: Company
description: Company search and enrichment operations.
paths:
/company-search:
get:
operationId: companySearchGet
summary: Search for a company by domain, name, or ID
description: Returns enriched company data from UpLead's B2B database. One of id, domain, or company is required.
tags:
- Company
parameters:
- name: id
in: query
description: Internal UpLead company ID.
schema:
type: string
- name: domain
in: query
description: Company domain name.
schema:
type: string
- name: company
in: query
description: Company name.
schema:
type: string
responses:
'200':
description: Successful company lookup.
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/CompanyRecord'
availableCredits:
type: integer
'400':
description: Bad request - missing or invalid parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized - invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden - account paused.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
post:
operationId: companySearchPost
summary: Search for a company (POST)
description: Returns enriched company data from UpLead's B2B database via POST body. One of id, domain, or company is required.
tags:
- Company
requestBody:
content:
application/json:
schema:
type: object
properties:
id:
type: string
domain:
type: string
company:
type: string
responses:
'200':
description: Successful company lookup.
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/CompanyRecord'
availableCredits:
type: integer
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/company-name-to-domain:
get:
operationId: companyNameToDomainGet
summary: Convert a company name to its domain
description: Looks up the primary web domain for a given company name.
tags:
- Company
parameters:
- name: company_name
in: query
required: true
schema:
type: string
responses:
'200':
description: Successful domain lookup.
content:
application/json:
schema:
type: object
properties:
company_name:
type: string
domain:
type: string
logo:
type: string
format: uri
availableCredits:
type: integer
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
post:
operationId: companyNameToDomainPost
summary: Convert a company name to its domain (POST)
tags:
- Company
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- company_name
properties:
company_name:
type: string
responses:
'200':
description: Successful domain lookup.
content:
application/json:
schema:
type: object
properties:
company_name:
type: string
domain:
type: string
logo:
type: string
format: uri
availableCredits:
type: integer
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/{domain}:
get:
operationId: getCompanyLogo
summary: Retrieve company logo by domain
description: Returns the company logo image for the given domain. Uses the logo.uplead.com server.
tags:
- Company
servers:
- url: https://logo.uplead.com
description: UpLead Logo CDN
parameters:
- name: domain
in: path
required: true
schema:
type: string
example: apple.com
responses:
'200':
description: Company logo image.
content:
image/png:
schema:
type: string
format: binary
image/jpeg:
schema:
type: string
format: binary
'404':
description: Logo not found.
components:
schemas:
ErrorResponse:
type: object
properties:
error:
type: string
description: Human-readable error message.
status:
type: integer
description: HTTP status code.
CompanyRecord:
type: object
description: Company data record from UpLead's database.
properties:
id:
type: string
description: Internal UpLead company ID.
company_name:
type: string
domain:
type: string
address:
type: string
city:
type: string
state:
type: string
zip:
type: string
county:
type: string
country:
type: string
phone_number:
type: string
fax_number:
type: string
employees:
type: string
enum:
- 1-10
- 11-50
- 51-200
- 201-500
- 501-1000
- 1001-5000
- 5001-10000
- 10001+
revenue:
type: string
enum:
- 0-1m
- 1m-10m
- 10m-50m
- 50m-100m
- 100m-200m
- 200m-1b
- 1b+
industry:
type: string
sic_code:
type: integer
sic_description:
type: string
naics_code:
type: integer
naics_description:
type: string
description:
type: string
year_founded:
type: integer
logo:
type: string
format: uri
linkedin_url:
type: string
format: uri
twitter_url:
type: string
format: uri
facebook_url:
type: string
format: uri
youtube_url:
type: string
format: uri
crunchbase_url:
type: string
format: uri
yelp_url:
type: string
format: uri
instagram_url:
type: string
format: uri
type:
type: string
enum:
- private
- public
- education
- government
- non-profit
ticker:
type: string
exchange:
type: string
alexa_rank:
type: integer
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: Authorization
description: Your UpLead API key passed as a header value.