UpLead Company API

Company search and enrichment operations.

OpenAPI Specification

uplead-company-api-openapi.yml Raw ↑
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.