Skip to content

CUFinder/cufinder-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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)

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.

About

Python SDK for the CUFinder API.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages