Python SDK for the CUFinder API.
Project description
CUFinder Python SDK
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
- 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)
- BCD - B2B Customers Finder
- CCP - Company Career Page Finder
- ISC - Company Saas Checker
- CBC - Company B2B or B2C Checker
- CSC - Company Mission Statement
- CSN - Company Snapshot
- NAO - Phone Number Normalizer
- NAA - Address Normalizer
- CEF - Company Employee Finder
- NAC - Company Name Normalizer
- CAA - Company Activity API
- CJA - Company Jobs 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)
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
855e28c324dae6afd6b645ee805c5fcb12b388f5ff31fe4eba909b0f7dde7148
|
|
| MD5 |
e19391c0c9cf7227e22e21b9425a579d
|
|
| BLAKE2b-256 |
a20ecb4e70adbd26cec567f218ce5db27425d5aa6211ec99f072f41a728ecd90
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2cca5e95c772f670b86e83733a6310852380dbe6bb597505b136cb906014108
|
|
| MD5 |
3d249c1cbe50288a39356f2a0339fad5
|
|
| BLAKE2b-256 |
8b3a7963329dd2b40a12eb1cf1a0744889c76ba04197d28cc1e1fe60809ca213
|