> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.cufinder.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 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.

export const ReadMore = ({link, children, className = ""}) => {
  return <div className={`${className}`}>
      <h3>Read More</h3>
      <Button href={link} target="_blank" variant="outline" size="md" color="primary" className="mt-2">
        <Icon icon="code" size={24} className="!mint-bg-emerald-600 mr-2" />
        {children}
      </Button>
    </div>;
};

export const Button = ({variant = "fill", size = "md", color = "primary", href, target, children, className = "", style = {}}) => {
  const isLink = !!href;
  const variantClassname = {
    fill: "border-none mint-bg-[var(--color)] !mint-text-white hover:mint-bg-[var(--color-dark)]",
    outline: "border !mint-border-b border-solid mint-border-[var(--color)] !mint-text-[var(--color)] mint-bg-[var(--color-lightest)] hover:mint-bg-[var(--color-lighter)]",
    text: "border-none bg-transparent !mint-text-[var(--color)] hover:mint-bg-[var(--color-lighter)]"
  };
  const sizeClassname = {
    sm: "px-3 py-1 rounded-md text-sm",
    md: "px-6 py-2 rounded-lg text-base",
    lg: "px-8 py-2.5 rounded-xl text-lg"
  };
  const colors = {
    primary: "rgb(22 163 74)",
    info: "rgb(43 127 255)",
    warning: "rgb(254 154 0)",
    error: "rgb(251 44 54)"
  };
  const Comp = isLink ? "a" : "button";
  return <Comp href={isLink ? href : undefined} target={isLink ? target : undefined} className={`inline-block duration-150 transition-all font-medium ${variantClassname[variant]} ${sizeClassname[size]} ${className}`} style={{
    "--color": colors[color],
    "--color-lightest": `color-mix(in srgb, ${colors[color]}, white 90%)`,
    "--color-lighter": `color-mix(in srgb, ${colors[color]}, white 80%)`,
    "--color-light": `color-mix(in srgb, ${colors[color]}, white 10%)`,
    "--color-dark": `color-mix(in srgb, ${colors[color]}, black 10%)`,
    ...style
  }}>
      {children}
    </Comp>;
};

export const SDKsList = ({className = ""}) => {
  const sdks = [{
    href: "https://github.com/CUFinder/cufinder-ts",
    title: "Typescript",
    description: "The Official TypeScript SDK for CUFinder APIs",
    imgSrc: "/images/logos/typescript.svg"
  }, {
    href: "https://github.com/CUFinder/cufinder-py",
    title: "Python",
    description: "The Official Python SDK for CUFinder APIs",
    imgSrc: "/images/logos/python.svg"
  }, {
    href: "https://github.com/CUFinder/cufinder-go",
    title: "Go",
    description: "The Official Go SDK for CUFinder APIs",
    imgSrc: "/images/logos/go.svg"
  }, {
    href: "https://github.com/CUFinder/cufinder-rust",
    title: "Rust",
    description: "The Official Rust SDK for CUFinder APIs",
    imgSrc: "/images/logos/rust.svg",
    darkRevert: true
  }, {
    href: "https://github.com/CUFinder/cufinder-ruby",
    title: "Ruby",
    description: "The Official Ruby SDK for CUFinder APIs",
    imgSrc: "/images/logos/ruby.svg"
  }];
  return <div className={`divide-y divide-slate-200 divide-solid ${className}`}>
      <h2>CUFinder Official SDKs</h2>
      <ul className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-y-4">
        {sdks.map(sdk => <li key={sdk.title}>
            <a href={sdk.href} target="_blank" className="flex items-center gap-4">
              <img src={sdk.imgSrc} alt={sdk.title} noZoom width={100} height={100} className={`w-12 !my-0 ${sdk.darkRevert ? "dark:invert-100" : ""}`} />
              <div>
                <div>
                  <p className="text-sm text-gray-800 dark:text-gray-200">{sdk.title}</p>
                </div>
                <div>
                  <p className="text-xs text-gray-500 leading-[1.2rem]">
                    {sdk.description}
                  </p>
                </div>
              </div>
            </a>
          </li>)}
      </ul>
    </div>;
};

<div id="cuf-use-cases" className="cuf-use-cases">
  ## Common Use Cases

  Filtered search turns a target profile into a real list of people you can reach.

  * **Lead Generation:** Building targeted contact lists from combined filters.
  * **Recruiting and Sourcing:** Finding candidates by role, company, and location.
  * **Account-Based Marketing:** Reaching the right people inside target accounts.
  * **Market Research:** Exploring a talent pool or buyer segment.
  * **List Building:** Generating fresh prospect lists on demand.
</div>

<Badge color="blue" size="lg" icon="star" className="mt-3">
  Credit usage is 5 per record found.
</Badge>

## Attributes

<ParamField body="full_name" type="string">
  Person full name, matched as a substring — for example, `john doe`.
</ParamField>

<ParamField body="country" type="string" required>
  Person country

  <div classname="mt-2">
    <Button target="_blank" href="https://docs.google.com/spreadsheets/d/160G0j0JBbS6-_ePRz6obTVhxvwzaUqtDB74tg7oC7O0/edit?usp=sharing" variant="fill" size="sm" color="info"> List of countries </Button>
  </div>
</ParamField>

<ParamField body="state" type="string">
  Person state

  <div classname="mt-2">
    <Button target="_blank" href="https://docs.google.com/spreadsheets/d/1eDiBALYHCIxgevIyDNLw2Msids4Yz3vM3rhNzjug6Sw/edit?usp=sharing" variant="fill" size="sm" color="info"> List of states </Button>
  </div>
</ParamField>

<ParamField body="city" type="string">
  Person city

  <div classname="mt-2">
    <Button target="_blank" href="https://docs.google.com/spreadsheets/d/1Tee4f7PmUoQEWYGAMxWimTw2rEOe0S9gGGPF49AgrfA/edit" variant="fill" size="sm" color="info"> List of cities </Button>
  </div>
</ParamField>

<ParamField body="job_title_role" type="string ('customer_service', 'design', 'education', 'engineering', 'finance', 'health', 'human_resources', 'legal', 'marketing', 'media', 'operations', 'public_relations', 'real_estate', 'sales', 'trades')">
  Person job title role
</ParamField>

<ParamField body="job_title_level" type="string ('cxo', 'director', 'entry', 'manager', 'owner', 'partner', 'senior', 'training', 'vp')">
  Person job title level
</ParamField>

<ParamField body="company_country" type="string">
  Company country
</ParamField>

<ParamField body="company_state" type="string">
  Company state
</ParamField>

<ParamField body="company_city" type="string">
  Company city
</ParamField>

<ParamField body="company_domain" type="string">
  Company website
</ParamField>

<ParamField body="company_followers_count_min" type="integer">
  Company minimum followers count
</ParamField>

<ParamField body="company_followers_count_max" type="integer">
  Company maximum followers count
</ParamField>

<ParamField body="company_name" type="string(contains, '%stripe%')">
  Company name
</ParamField>

<ParamField body="company_linkedin_url" type="string">
  Company LinkedIn URL
</ParamField>

<ParamField body="company_industry" type="string">
  Company industry

  <div classname="mt-2">
    <Button target="_blank" href="https://docs.google.com/spreadsheets/d/15Qt_M68YLevS0Qfp3DSyRr9MfHP33ZnoMWBvumBbiB0/edit?usp=sharing" variant="fill" size="sm" color="info"> List of industries </Button>
  </div>
</ParamField>

<ParamField body="company_employee_size" type="string ('0-1', '1 employee', '2-10', '11-50', '51-200', '201-500', '501-1000', '501-1,000', '1,001-5,000', '5,001-10,000', '10,001+')">
  Company employee size range
</ParamField>

<ParamField body="company_products_services" type="array[string]">
  Company services
</ParamField>

<ParamField body="company_annual_revenue_min" type="integer">
  Company minimum annual revenue (Million USD)
</ParamField>

<ParamField body="company_annual_revenue_max" type="integer">
  Company maximum annual revenue (Million USD)
</ParamField>

<ParamField body="page" type="integer">
  Page number
</ParamField>

## Response

<CodeGroup>
  ```json Response theme={null}
  {
      "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
      }
  }
  ```
</CodeGroup>

<SDKsList className="mt-20" />

<div className="mt-20">
  ## Person Search API Typescript SDK

  <CodeGroup>
    ```typescript Request theme={null}
    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);
    ```
  </CodeGroup>
</div>

<div className="mt-12">
  ## Person Search API Python SDK

  <CodeGroup>
    ```python Request theme={null}
    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)
    ```
  </CodeGroup>
</div>

<div className="mt-12">
  ## Person Search API Go SDK

  <CodeGroup>
    ```go Request theme={null}
    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)
    ```
  </CodeGroup>
</div>

<div className="mt-12">
  ## Person Search API Ruby SDK

  <CodeGroup>
    ```ruby Request theme={null}
    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
    ```
  </CodeGroup>
</div>

<div className="mt-12">
  ## Person Search API Rust SDK

  <CodeGroup>
    ```rust Request theme={null}
    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);
    ```
  </CodeGroup>
</div>

## Related APIs

<CardGroup cols={2}>
  <Card title="Person Enrichment" icon="user" href="/apis/person-enrichment">
    Enrich a person with full contact data.
  </Card>

  <Card title="Company Employee Finder" icon="users-group" href="/apis/company-employee-finder">
    Find employees working at a company.
  </Card>

  <Card title="LinkedIn Profile Enrichment" icon="brand-linkedin" href="/apis/linkedin-profile-enrichment">
    Enrich a person from their LinkedIn profile.
  </Card>

  <Card title="Reverse Email Lookup" icon="mail-search" href="/apis/reverse-email-lookup">
    Identify the person behind an email address.
  </Card>
</CardGroup>
