Skip to main content

Python SDK for the CUFinder API.

Project description

CUFinder Python SDK

License: MIT PyPI version

A Python SDK for the CUFinder API that provides access to all company and person enrichment services.

Table of Contents

Installation

pip install cufinder-py

Usage

from cufinder import Cufinder

# Initialize the client
client = Cufinder('your-api-key-here')

# Initialize with more options
client = Cufinder('your-api-key-here', timeout=60)

API Reference

This SDK covers all 20 Cufinder API (v2) endpoints:

  • CUF - Company Name to Domain API
  • LCUF - Company LinkedIn URL Finder API
  • DTC - Domain to Company Name API
  • DTE - Company Email Finder API
  • NTP - Company Phone Finder API
  • REL - Reverse Email Lookup API
  • FCL - Company Lookalikes Finder API
  • ELF - Company Fundraising API
  • CAR - Company Revenue Finder API
  • FCC - Company Subsidiaries Finder API
  • FTS - Company Tech Stack Finder API
  • EPP - LinkedIn Profile Enrichment API
  • FWE - LinkedIn Profile Email Finder API
  • TEP - Person Enrichment API
  • ENC - Company Enrichment API
  • CEC - Company Employee Count API
  • CLO - Company Locations API
  • CSE - Company Search API
  • PSE - Person Search API
  • LBS - Local Business Search API (Google Maps Search API)

CUF - Company Name to Domain API

Returns the official website URL of a company based on its name.

result = client.cuf('cufinder', 'US')
print(result)

LCUF - Company LinkedIn URL Finder API

Finds the official LinkedIn company profile URL from a company name.

result = client.lcuf('cufinder')
print(result)

DTC - Domain to Company Name API

Retrieves the registered company name associated with a given website domain.

result = client.dtc('cufinder.io')
print(result)

DTE - Company Email Finder API

Returns up to five general or role-based business email addresses for a company.

result = client.dte('cufinder.io')
print(result)

NTP - Company Phone Finder API

Returns up to two verified phone numbers for a company.

result = client.ntp('apple')
print(result)

REL - Reverse Email Lookup API

Enriches an email address with detailed person and company information.

result = client.rel('iain.mckenzie@stripe.com')
print(result)

FCL - Company Lookalikes Finder API

Provides a list of similar companies based on an input company's profile.

result = client.fcl('apple')
print(result)

ELF - Company Fundraising API

Returns detailed funding information about a company.

result = client.elf('cufinder')
print(result)

CAR - Company Revenue Finder API

Estimates a company's annual revenue based on name.

result = client.car('apple')
print(result)

FCC - Company Subsidiaries Finder API

Identifies known subsidiaries of a parent company.

result = client.fcc('amazon')
print(result)

FTS - Company Tech Stack Finder API

Detects the technologies a company uses.

result = client.fts('cufinder')
print(result)

EPP - LinkedIn Profile Enrichment API

Takes a LinkedIn profile URL and returns enriched person and company data.

result = client.epp('linkedin.com/in/iain-mckenzie')
print(result)

FWE - LinkedIn Profile Email Finder API

Extracts a verified business email address from a LinkedIn profile URL.

result = client.fwe('linkedin.com/in/iain-mckenzie')
print(result)

TEP - Person Enrichment API

Returns enriched person data based on full name and company name.

result = client.tep('iain mckenzie', 'stripe')
print(result)

ENC - Company Enrichment API

Provides a complete company profile from a company name.

result = client.enc('cufinder')
print(result)

CEC - Company Employee Count API

Returns an estimated number of employees for a company.

result = client.cec('cufinder')
print(result)

CLO - Company Locations API

Returns the known physical office locations of a company.

result = client.clo('apple')
print(result)

CSE - Company Search API

Search for companies by keyword, partial name, industry, location, or other filters.

result = client.cse(
    name='cufinder',
    country='germany',
    state='hamburg',
    city='hamburg'
)
print(result)

PSE - Person Search API

Search for people by name, company, job title, location, or other filters.

result = client.pse(
    full_name='iain mckenzie',
    company_name='stripe'
)
print(result)

LBS - Local Business Search API (Google Maps Search API)

Search for local businesses by location, industry, or name.

result = client.lbs(
    country='united states',
    state='california',
    page=1
)
print(result)

Error Handling

The SDK provides comprehensive error handling with custom error types:

from cufinder import (
    CufinderError,
    AuthenticationError,
    CreditLimitError,
    NotFoundError,
    PayloadError,
    RateLimitError,
    ServerError,
    NetworkError
)

try:
    result = client.cuf('cufinder', 'US')
except AuthenticationError as error:
    # 401 - Invalid API key
    print('Authentication failed:', error.message)
except CreditLimitError as error:
    # 400 - Not enough credit
    print('Not enough credit:', error.message)
except NotFoundError as error:
    # 404 - Not found result
    print('Not found result:', error.message)
except PayloadError as error:
    # 422 - Error in the payload
    print('Payload error:', error.message, error.details)
except RateLimitError as error:
    # 429 - Rate limit exceeded
    print('Rate limit exceeded. Retry after:', error.details.get('retry_after'))
except ServerError as error:
    # 500, 501, ... - Server errors
    print('Server error:', error.message, 'Status:', error.status_code)
except NetworkError as error:
    print('Network error:', error.message)
except CufinderError as error:
    print('Unknown error:', error.message)

Types

The SDK exports comprehensive Python types:

from cufinder import (
    # Client types
    BaseApiClient,
    CufinderClientConfig,
    RequestConfig,
    Response,

    # Request types
    CseParams,
    PseParams,
    LbsParams,

    # Response types
    BaseResponse,
    ApiResponse,

    # Model types
    Company,
    Person,
    LookalikeCompany,
    FundraisingInfo,
    CompanyLocation,
    TepPerson,
    CloCompanyLocation,
    CompanySearchResult,
    PersonSearchResult,
    LocalBusinessResult,

    # Error types
    CufinderError,
    AuthenticationError,
    CreditLimitError,
    NotFoundError,
    PayloadError,
    RateLimitError,
    ServerError,
    NetworkError
)

Support

For support, please open an issue on the GitHub repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cufinder_py-1.0.1.tar.gz (31.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cufinder_py-1.0.1-py3-none-any.whl (34.9 kB view details)

Uploaded Python 3

File details

Details for the file cufinder_py-1.0.1.tar.gz.

File metadata

  • Download URL: cufinder_py-1.0.1.tar.gz
  • Upload date:
  • Size: 31.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for cufinder_py-1.0.1.tar.gz
Algorithm Hash digest
SHA256 27b881540f7d3f0e2911d741c618aff8923e48d5329bac943f5d69dc4601cb07
MD5 d6d14df0a99d0eb12daf3f5c0034e700
BLAKE2b-256 dd10c63a5d0b97a3b3fea4c2eef0ba7586c2d9e16d6b1a717178b732a8aea2b6

See more details on using hashes here.

File details

Details for the file cufinder_py-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: cufinder_py-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 34.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for cufinder_py-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2a7083ae3251d62483481e3e40031ee4cfeb8fb39ad94f2eed503ad8aefc32c2
MD5 f44555c7b815e02cb94e2a1d9c5a177e
BLAKE2b-256 935e87256502c399bb31b16873687c4e913f4b31af3bb169f4f896a4ad11ad03

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page