PeopleSearch.im · Schema

PeopleFilters

Exact filters, recommended for AI agents and programs: state each part of the request instead of a sentence. Values inside one list are alternatives (OR); different fields must all match (AND). Give a few variants where people word things differently (titles: ["M&A Associate", "Investment Banking Associate"]). When filters are given, `query` is only a label and is not parsed.

CompanyPeople SearchEmail LookupArtificial IntelligenceSoftware-as-a-Service

Properties

Name Type Description
first_name array To find one named person: their first name, with the variants they may use, e.g. ["Timothy", "Tim"]. Use with last_name, and add companies or company_domains when known ("Anqi Dai at Memorial Sloan Ke
last_name array To find one named person: their last name, e.g. ["Dai"]. If the name with the employer finds nobody, the search tries the last name at the employer, then the full name anywhere.
job_titles array Current job titles, matched as case-insensitive substrings ("Account Executive" also finds "Senior Account Executive"). Include the variants people use: ["VP Sales", "Vice President of Sales", "Head o
exclude_job_titles array Titles to leave out, e.g. ["Intern", "Recruiter"].
past_job_titles array Titles the person held before their current job.
companies array Current employers by name, e.g. ["Stripe"].
company_domains array Current employers by website domain, the most exact way to name a company, e.g. ["stripe.com"].
past_companies array Former employers by name, e.g. ["McKinsey"] for ex-McKinsey people.
locations array Where the person lives or works: cities, states, countries or regions, e.g. ["Frankfurt", "Munich"], ["Germany"], ["DACH"], ["Texas"]. Use "City, Country" to tell same-named places apart ("Paris, Fran
industries array Industry of the current employer, as LinkedIn names it, e.g. ["Investment Banking"], ["Software Development"], ["Hospitals and Health Care"], ["Venture Capital and Private Equity Principals"], ["Staff
schools array Schools the person attended, matched as substrings; add the local-language name too, e.g. ["University of Mannheim", "Universität Mannheim"].
skills array Skills listed on the profile, e.g. ["Python", "Kubernetes"].
languages array Languages the person speaks, e.g. ["German"] or ["DE"].
keywords array Words to find anywhere on the profile (headline, descriptions, past roles), for what no other field covers.
company_keywords array Words the current employer's own description should contain, for a KIND of employer no industry names exactly, e.g. ["hostel"], ["coffee"] (founders of coffee roasteries), ["SEO"] (with industries ["M
company_size_min integer Minimum employees at the current employer.
company_size_max integer Maximum employees at the current employer.
years_experience_min integer Minimum total years of professional experience.
years_experience_max integer Maximum total years of professional experience.
View JSON Schema on GitHub

JSON Schema

peoplesearch-im-people-filters-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/peoplesearch-im/main/json-schema/peoplesearch-im-people-filters-schema.json",
  "title": "PeopleFilters",
  "description": "Exact filters, recommended for AI agents and programs: state each part of the request instead of a sentence. Values inside one list are alternatives (OR); different fields must all match (AND). Give a few variants where people word things differently (titles: [\"M&A Associate\", \"Investment Banking Associate\"]). When filters are given, `query` is only a label and is not parsed.",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/peoplesearch-im-openapi.json#/components/schemas/PeopleFilters",
  "type": "object",
  "properties": {
    "first_name": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "To find one named person: their first name, with the variants they may use, e.g. [\"Timothy\", \"Tim\"]. Use with last_name, and add companies or company_domains when known (\"Anqi Dai at Memorial Sloan Kettering\" finds the one person)."
    },
    "last_name": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "To find one named person: their last name, e.g. [\"Dai\"]. If the name with the employer finds nobody, the search tries the last name at the employer, then the full name anywhere."
    },
    "job_titles": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Current job titles, matched as case-insensitive substrings (\"Account Executive\" also finds \"Senior Account Executive\"). Include the variants people use: [\"VP Sales\", \"Vice President of Sales\", \"Head of Sales\"]."
    },
    "exclude_job_titles": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Titles to leave out, e.g. [\"Intern\", \"Recruiter\"]."
    },
    "past_job_titles": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Titles the person held before their current job."
    },
    "companies": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Current employers by name, e.g. [\"Stripe\"]."
    },
    "company_domains": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Current employers by website domain, the most exact way to name a company, e.g. [\"stripe.com\"]."
    },
    "past_companies": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Former employers by name, e.g. [\"McKinsey\"] for ex-McKinsey people."
    },
    "locations": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Where the person lives or works: cities, states, countries or regions, e.g. [\"Frankfurt\", \"Munich\"], [\"Germany\"], [\"DACH\"], [\"Texas\"]. Use \"City, Country\" to tell same-named places apart (\"Paris, France\"). Country names are safest; ISO codes are converted."
    },
    "industries": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Industry of the current employer, as LinkedIn names it, e.g. [\"Investment Banking\"], [\"Software Development\"], [\"Hospitals and Health Care\"], [\"Venture Capital and Private Equity Principals\"], [\"Staffing and Recruiting\"]. Common older names are mapped; a name that is not an industry is reported in `ignored` and not applied."
    },
    "schools": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Schools the person attended, matched as substrings; add the local-language name too, e.g. [\"University of Mannheim\", \"Universität Mannheim\"]."
    },
    "skills": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Skills listed on the profile, e.g. [\"Python\", \"Kubernetes\"]."
    },
    "languages": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Languages the person speaks, e.g. [\"German\"] or [\"DE\"]."
    },
    "keywords": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Words to find anywhere on the profile (headline, descriptions, past roles), for what no other field covers."
    },
    "company_keywords": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Words the current employer's own description should contain, for a KIND of employer no industry names exactly, e.g. [\"hostel\"], [\"coffee\"] (founders of coffee roasteries), [\"SEO\"] (with industries [\"Marketing Services\"] for SEO agencies), [\"community college\"]."
    },
    "company_size_min": {
      "type": "integer",
      "minimum": 1,
      "description": "Minimum employees at the current employer."
    },
    "company_size_max": {
      "type": "integer",
      "minimum": 1,
      "description": "Maximum employees at the current employer."
    },
    "years_experience_min": {
      "type": "integer",
      "minimum": 0,
      "description": "Minimum total years of professional experience."
    },
    "years_experience_max": {
      "type": "integer",
      "minimum": 0,
      "description": "Maximum total years of professional experience."
    }
  },
  "additionalProperties": false
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/peoplesearch-im-people-filters"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.