CUFinder API Documentation

Person Search API

Multi-filter searches separate precision prospecting from spray-and-pray outreach that wastes sales cycles. The Person Search API queries CUFinder's 1B+ professional profiles using combined filters—including name, company details, location, industry, and revenue—returning matching contact records with 99% confidence scores. Built for developers creating targeted prospecting and talent sourcing platforms, this RESTful endpoint delivers filtered person data including job titles, social profiles, and employer information that power account-based selling, executive search, and partnership identification workflows across your sales stack.

POST

https://api.cufinder.io/v2/pse

Required Attributes

  • x-api-key

    string

    Your API key.

  • country

    string

    Person country

Attributes

  • full_name

    string (contains, ‘%john doe%’)

    Person full name

  • state

    string

    Person state

  • city

    string

    Person city

  • job_title_role

    string ('customer_service', 'design', 'education', 'engineering', 'finance', 'health', 'human_resources', 'legal', 'marketing', 'media', 'operations', 'public_relations', 'real_estate', 'sales', 'trades')

    Person job title role

  • job_title_level

    string ('cxo', 'director', 'entry', 'manager', 'owner', 'partner', 'senior', 'training', 'vp')

    Person job title level

  • company_country

    string

    Company country

  • company_state

    string

    Company state

  • company_city

    string

    Company city

  • company_followers_count_min

    integer

    Company minimum followers count

  • company_followers_count_max

    integer

    Company maximum followers count

  • company_name

    string (contains, '%stripe%')

    Company name

  • company_linkedin_url

    string

    Company LinkedIn URL

  • company_industry

    string

    Company industry

  • company_employee_size

    ['0-1', '1 employee', '1,001-5,000', '10,001+', '11-50', '2-10', '201-500', '5,001-10,000', '501-1,000', '501-1000', '51-200']

    Company employees size range

  • company_products_services

    array of string

    Company services

  • company_annual_revenue_min

    integer (Million Dollar)

    Company minimum annual revenue

  • company_annual_revenue_max

    integer (Million Dollar)

    Company maximum annual revenue

  • page

    integer

    Page filter

Credit usage

5 for founded records

/v2/pse

Request
curl --location 'https://api.cufinder.io/v2/pse' \
--header 'Content-Type: application/json' \
--header 'x-api-key: api_key' \
--data '{
    "full_name": "iain mckenzie",
    "country": "canada",
    "company_name": "stripe",
    "page": 1
}'
Response
{
    "status": 1,
    "data": {
        "confidence_level": 93,
        "query": {
            "full_name": "iain mckenzie",
            "country": "canada",
            "company_name": "stripe",
            "page": 1
        },
        "peoples": [
            {
                "full_name": "iain mckenzie",
                "current_job": {
                    "title": "engineering"
                },
                "company": {
                    "name": "stripe",
                    "linkedin": "linkedin.com/company/stripe",
                    "website": "https://stripe.com",
                    "industry": "technology, information and internet",
                    "main_location": {
                        "country": "united states",
                        "state": "california",
                        "city": "south san francisco"
                    },
                    "social": {
                        "linkedin": "linkedin.com/company/stripe",
                        "facebook": "facebook.com/stripepayments",
                        "twitter": "twitter.com/stripe"
                    }
                },
                "location": {
                    "country": "canada",
                    "state": null,
                    "city": null
                },
                "social": {
                    "linkedin": "linkedin.com/in/iain-mckenzie",
                    "facebook": null,
                    "twitter": null
                }
            }
        ],
        "credit_count": 9972
    }
}

Status Codes

  • 200

    indicates a successful response.

  • 400

    indicates a not enough credits.

  • 401

    indicates an invalid API key.

  • 404

    indicates a not found results (Our algorithm can't find a data for your query).

  • 422

    indicates an error in sending data.

  • 500

    indicates a server error — you won't be seeing these

Person Search API typescript SDK

Request
import { Cufinder } from '@cufinder/cufinder-ts';

// Initialize the client
const client = new Cufinder('your-api-key-here');

// Initialize with more options
const client = new Cufinder('your-api-key-here', { timeout: 60000 });

const result = await client.pse({
  full_name: 'iain mckenzie',
  company_name: 'stripe'
});
console.log(result);

Person Search API python SDK

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

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

Person Search API go SDK

Request
package main

import (
    "fmt"
    "log"
    
    "github.com/cufinder/cufinder-go"
)

func main() {
    // Initialize the client
    sdk := cufinder.NewSDK("your-api-key-here")
    
    // Initialize with more options
    sdk := cufinder.NewSDKWithConfig(cufinder.ClientConfig{
        APIKey:     "your-api-key-here",
        BaseURL:    "https://api.cufinder.io/v2",
        Timeout:    60 * time.Second,
        MaxRetries: 3,
    })
}

result, err := sdk.PSE(cufinder.PseParams{
  FullName:    "iain mckenzie",
  CompanyName: "stripe",
})
if err != nil {
  log.Fatal(err)
}
fmt.Println(result)

Person Search API ruby SDK

Request
require 'cufinder_ruby'

# Initialize the client
client = Cufinder::Client.new(api_key: 'your-api-key-here')

# Initialize with more options
client = Cufinder::Client.new(
  api_key: 'your-api-key-here',
  timeout: 60,
  max_retries: 3
)

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

Person Search API rust SDK

Request
use cufinder_rust::CufinderSDK;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Initialize the client
    let sdk = CufinderSDK::new("your-api-key-here".to_string())?;
    
    // Initialize with more options
    let sdk = CufinderSDK::with_config(ClientConfig {
        api_key: "your-api-key-here".to_string(),
        base_url: "https://api.cufinder.io/v2".to_string(),
        timeout: Duration::from_secs(60),
        max_retries: 3,
    })?;
    
    Ok(())
}

use cufinder_rust::PseParams;

let result = sdk.pse(PseParams {
  full_name: Some("iain mckenzie".to_string()),
  company_name: Some("stripe".to_string()),
  ..Default::default()
}).await?;
println!("{:?}", result);