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 32 Cufinder API (v2) endpoints:

CUF - Company Name to Domain

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

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

LCUF - LinkedIn Company URL Finder

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

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

DTC - Domain to Company Name

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

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

DTE - Company Email Finder

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

Returns up to two verified phone numbers for a company.

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

REL - Reverse Email Lookup

Enriches an email address with detailed person and company information.

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

FCL - Company Lookalikes Finder

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

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

ELF - Company Fundraising

Returns detailed funding information about a company.

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

CAR - Company Revenue Finder

Estimates a company's annual revenue based on name.

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

FCC - Company Subsidiaries Finder

Identifies known subsidiaries of a parent company.

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

FTS - Company Tech Stack Finder

Detects the technologies a company uses.

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

EPP - LinkedIn Profile Enrichment

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

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

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

TEP - Person Enrichment

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

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

ENC - Company Enrichment

Provides a complete company profile from a company name.

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

CEC - Company Employee Count

Returns an estimated number of employees for a company.

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

CLO - Company Locations

Returns the known physical office locations of a company.

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

CSE - Company Search

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

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 (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)

BCD - B2B Customers Finder

Returns company's careers page

result = client.bcd('stripe.com')
print(result)

CCP - Company Career Page Finder

Returns is company SaaS or not

result = client.ccp('stripe.com')
print(result)

ISC - Company Saas Checker

Returns is company SaaS or not

result = client.isc('stripe.com')
print(result)

CBC - Company B2B or B2C Checker

Returns company's business type

result = client.cbc('stripe.com')
print(result)

CSC - Company Mission Statement

Returns company's mission statement

result = client.csc('stripe.com')
print(result)

CSN - Company Snapshot

Returns company's snapshot information

result = client.csn('stripe.com')
print(result)

NAO - Phone Number Normalizer

Returns normalized phone

result = client.nao('+18006676389')
print(result)

NAA - Address Normalizer

Returns normalized address

result = client.naa('1095 avenue of the Americas, 6th Avenue ny 10036')
print(result)

CEF - Company Employee Finder

Returns a list of employees for a given company.

result = client.cef('cufinder', page=1)
for emp in result.employees:
    print(f"name: {emp.full_name}, title: {emp.job_title}")

NAC - Company Name Normalizer

Normalizes a company name to its standard form.

result = client.nac('Cufinder')
print(result.company)

CAA - Company Activity API

Returns company activities from LinkedIn.

result = client.caa('cufinder', page=1)
for act in result.activities:
    print(f"headline: {act.activity_headline}, url: {act.activity_url}")

CJA - Company Jobs API

Search for company jobs with various filters.

result = client.cja(name='cufinder', page=1)
for item in result.jobs:
    print(f"company: {item.company.name}, job: {item.job.title}")

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,
    CjaParams,

    # Response types
    BaseResponse,
    ApiResponse,

    # Model types
    Company,
    Person,
    LookalikeCompany,
    FundraisingInfo,
    CompanyLocation,
    TepPerson,
    CloCompanyLocation,
    CompanySearchResult,
    PersonSearchResult,
    LocalBusinessResult,
    CefEmployee,
    CaaActivity,
    CjaCompany,
    CjaJob,
    CjaJobItem,

    # 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.2.1.tar.gz (35.0 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.2.1-py3-none-any.whl (41.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cufinder_py-1.2.1.tar.gz
  • Upload date:
  • Size: 35.0 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.2.1.tar.gz
Algorithm Hash digest
SHA256 855e28c324dae6afd6b645ee805c5fcb12b388f5ff31fe4eba909b0f7dde7148
MD5 e19391c0c9cf7227e22e21b9425a579d
BLAKE2b-256 a20ecb4e70adbd26cec567f218ce5db27425d5aa6211ec99f072f41a728ecd90

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cufinder_py-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 41.6 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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a2cca5e95c772f670b86e83733a6310852380dbe6bb597505b136cb906014108
MD5 3d249c1cbe50288a39356f2a0339fad5
BLAKE2b-256 8b3a7963329dd2b40a12eb1cf1a0744889c76ba04197d28cc1e1fe60809ca213

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