A Python SDK for the CUFinder API that provides access to all company and person enrichment services.
pip install cufinder-pyfrom cufinder import Cufinder
# Initialize the client
client = Cufinder('your-api-key-here')
# Initialize with more options
client = Cufinder('your-api-key-here', timeout=60)This SDK covers all 20 Cufinder API (v2) endpoints:
- CUF - Company Name to Domain
- LCUF - LinkedIn Company URL Finder
- DTC - Domain to Company Name
- DTE - Company Email Finder
- NTP - Company Phone Finder
- REL - Reverse Email Lookup
- FCL - Company Lookalikes Finder
- ELF - Company Fundraising
- CAR - Company Revenue Finder
- FCC - Company Subsidiaries Finder
- FTS - Company Tech Stack Finder
- EPP - LinkedIn Profile Enrichment
- FWE - LinkedIn Profile Email Finder
- TEP - Person Enrichment
- ENC - Company Enrichment
- CEC - Company Employee Count
- CLO - Company Locations
- CSE - Company Search
- PSE - Person Search
- LBS - Local Business Search (Google Maps Search API)
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)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)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
)For support, please open an issue on the GitHub repository.