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.
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. |
JSON Schema
{
"$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.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/peoplesearch-im-people-filters"
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.