[← Back to tools]
person.search

Search for people: pay per use, no API key

Use People Data Labs from Claude, Claude Code, Cursor, ChatGPT, and other agents through one Cralo balance.

Search People Data Labs' person dataset with bounded structured filters and return normalized profiles. This matches structured filters (title, company, seniority, location) against a people database; it is not suited for topical or category discovery, such as naming the founders of well-known companies in an industry, or people working in a broad space — use `exa.search`, `perplexity.ask`, or `brave.web-search` for that kind of research instead. `work_email` is filled for only a small minority of matches in practice; do not budget on getting an email address from this tool.

Price and execution

Price
$0.10
Pricing model
Fixed price per successful call
Execution class
fast

Limits

No additional limits are published for this tool.

Parameters

Fields person.search accepts as JSON input.

  • sizeintegerOptional

    Maximum person records returned and billed upstream.

  • companystringOptional

    Current employer name to match.

  • keywordsstringOptional

    Professional-topic text matched against headline, summary, and skills; do not use this field for a person's name.

  • locationstringOptional

    Person location to match, such as a city, region, or country.

  • job_titlestringOptional

    Current job title to match, such as `software engineer`.

  • seniority"cxo" | "vp" | "director" | "manager" | "senior" | "entry" | "owner" | "partner"Optional

    Current job seniority level to match.

  • company_size"1-10" | "11-50" | "51-200" | "201-500" | "501-1000" | "1001-5000" | "5001-10000" | "10001+"Optional

    Current employer headcount range to match.

Raw input JSON Schema
{
  "type": "object",
  "anyOf": [
    {
      "required": [
        "job_title"
      ]
    },
    {
      "required": [
        "seniority"
      ]
    },
    {
      "required": [
        "company"
      ]
    },
    {
      "required": [
        "company_size"
      ]
    },
    {
      "required": [
        "location"
      ]
    },
    {
      "required": [
        "keywords"
      ]
    }
  ],
  "properties": {
    "size": {
      "type": "integer",
      "default": 10,
      "maximum": 10,
      "minimum": 1,
      "description": "Maximum person records returned and billed upstream."
    },
    "company": {
      "type": "string",
      "maxLength": 255,
      "minLength": 1,
      "description": "Current employer name to match."
    },
    "keywords": {
      "type": "string",
      "maxLength": 500,
      "minLength": 1,
      "description": "Professional-topic text matched against headline, summary, and skills; do not use this field for a person's name."
    },
    "location": {
      "type": "string",
      "maxLength": 255,
      "minLength": 1,
      "description": "Person location to match, such as a city, region, or country."
    },
    "job_title": {
      "type": "string",
      "maxLength": 255,
      "minLength": 1,
      "description": "Current job title to match, such as `software engineer`."
    },
    "seniority": {
      "enum": [
        "cxo",
        "vp",
        "director",
        "manager",
        "senior",
        "entry",
        "owner",
        "partner"
      ],
      "type": "string",
      "description": "Current job seniority level to match."
    },
    "company_size": {
      "enum": [
        "1-10",
        "11-50",
        "51-200",
        "201-500",
        "501-1000",
        "1001-5000",
        "5001-10000",
        "10001+"
      ],
      "type": "string",
      "description": "Current employer headcount range to match."
    }
  },
  "additionalProperties": false
}

Returns

Fields a successful person.search call returns.

  • totalnumberRequired
  • peoplearray of objectRequired
    • pdl_idstringRequired
    • locationstring | nullRequired
    • full_namestringRequired
    • job_titlestring | nullRequired
    • work_emailstring | nullRequired

      Frequently null; do not budget on getting an email address from this field.

    • linkedin_urlstring | nullRequired
    • job_company_namestring | nullRequired
    • job_company_websitestring | nullRequired
  • retrieved_atstring (date-time)Required
  • scroll_tokenstring | nullRequired
Raw output JSON Schema
{
  "type": "object",
  "required": [
    "people",
    "total",
    "scroll_token",
    "retrieved_at"
  ],
  "properties": {
    "total": {
      "type": "number",
      "minimum": 0
    },
    "people": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "pdl_id",
          "full_name",
          "job_title",
          "job_company_name",
          "job_company_website",
          "linkedin_url",
          "work_email",
          "location"
        ],
        "properties": {
          "pdl_id": {
            "type": "string"
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "full_name": {
            "type": "string"
          },
          "job_title": {
            "type": [
              "string",
              "null"
            ]
          },
          "work_email": {
            "type": [
              "string",
              "null"
            ],
            "description": "Frequently null; do not budget on getting an email address from this field."
          },
          "linkedin_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "job_company_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "job_company_website": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "maxItems": 10
    },
    "retrieved_at": {
      "type": "string",
      "format": "date-time"
    },
    "scroll_token": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "additionalProperties": false
}

Run this tool

Copy this instruction to your agent to set up Cralo and call this tool with the example input.

Set up Cralo by following https://cralo.ai/SKILL.md, then call the person.search tool with this input: {"job_title":"software engineer","company":"people data labs","size":1}

Safety notes

Side Effect
read_only
Public Sources Only
Yes
Handles Personal Data
Yes

How this compares to using People Data Labs directly

You do not need a separate People Data Labs account or subscription for this call. Cralo uses one prepaid balance across all tools and shows the per-call price before you run the command.

Related tools

[Browse all tools]