> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.data.aviato.co/api-reference/person/simple-search/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.data.aviato.co/_mcp/server. # Simple Search GET https://data.api.aviato.co/person/simple/search Search for people using simple query parameters. The resulting DSL has no application clause-count cap. Filter nesting is capped at 100 groups; excessive nesting returns 400. Backend query limits, request-size limits, and runtime/resource limits can still constrain searches. Shares the customer's 15 concurrent-search budget with person POST search and company search across all API keys. Excess concurrency returns 429 with Retry-After; admission failures return 503. Reference: https://docs.data.aviato.co/api-reference/person/simple-search ## Authentication - `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer `, where token is your auth token. ## Request ### Query parameters - `page` (integer, required) - `perPage` (integer, required) — Maximum 100 results per page - `enrich` (boolean, optional) — If true, automatically enrich results (charges 1 person credit per result). Otherwise returns minimal results. - `fullName` (string, optional) — Fuzzy query on name - `firstName` (list of string, optional) — Exact match (case insensitive). Multiple values are OR'd. - `lastName` (list of string, optional) — Exact match (case insensitive). Multiple values are OR'd. - `headline` (string, optional) — Keyword search on headline - `minLinkedinConnections` (integer, optional) — Minimum number of LinkedIn connections - `maxLinkedinConnections` (integer, optional) — Maximum number of LinkedIn connections - `minLinkedinFollowers` (integer, optional) — Minimum number of LinkedIn followers - `maxLinkedinFollowers` (integer, optional) — Maximum number of LinkedIn followers - `country` (list of string, optional) — Filter by country. Multiple values are OR'd. - `region` (list of string, optional) — Filter by region/state. Multiple values are OR'd. - `locality` (list of string, optional) — Filter by city/locality. Multiple values are OR'd. - `skills` (list of string, optional) — All specified skills must be present (AND condition) - `allTitles` (list of string, optional) — Filter by all titles a person has had. Multiple values are OR'd. - `currentTitles` (list of string, optional) — Filter by current titles. Multiple values are OR'd. - `pastTitles` (list of string, optional) — Filter by past (non-current) titles. Multiple values are OR'd. - `allDepartments` (list of string, optional) — Filter by all departments. Multiple values are OR'd. - `currentDepartments` (list of string, optional) — Filter by current departments. Multiple values are OR'd. - `pastDepartments` (list of string, optional) — Filter by past departments. Multiple values are OR'd. - `degrees` (list of string, optional) — Filter by degrees. Multiple values are OR'd. - `fieldsOfStudy` (list of string, optional) — Filter by fields of study. Multiple values are OR'd. - `allSchoolLinkedinIDs` (list of string, optional) — Filter by all schools (LinkedIn ID). Multiple values are OR'd. - `currentSchoolLinkedinIDs` (list of string, optional) — Filter by current schools (LinkedIn ID). Multiple values are OR'd. - `pastSchoolLinkedinIDs` (list of string, optional) — Filter by past schools (LinkedIn ID). Multiple values are OR'd. - `allSchoolLinkedinNumIDs` (list of string, optional) — Filter by all schools (LinkedIn Num ID). Multiple values are OR'd. - `currentSchoolLinkedinNumIDs` (list of string, optional) — Filter by current schools (LinkedIn Num ID). Multiple values are OR'd. - `pastSchoolLinkedinNumIDs` (list of string, optional) — Filter by past schools (LinkedIn Num ID). Multiple values are OR'd. - `allCompanyLinkedinIDs` (list of string, optional) — Filter by all companies (LinkedIn ID). Multiple values are OR'd. - `currentCompanyLinkedinIDs` (list of string, optional) — Filter by current companies (LinkedIn ID). Multiple values are OR'd. - `pastCompanyLinkedinIDs` (list of string, optional) — Filter by past companies (LinkedIn ID). Multiple values are OR'd. - `allCompanyLinkedinNumIDs` (list of string, optional) — Filter by all companies (LinkedIn Num ID). Multiple values are OR'd. - `currentCompanyLinkedinNumIDs` (list of string, optional) — Filter by current companies (LinkedIn Num ID). Multiple values are OR'd. - `pastCompanyLinkedinNumIDs` (list of string, optional) — Filter by past companies (LinkedIn Num ID). Multiple values are OR'd. - `allCompanyNames` (list of string, optional) — Filter by all company names. Multiple values are OR'd. - `currentCompanyNames` (list of string, optional) — Filter by current company names. Multiple values are OR'd. - `pastCompanyNames` (list of string, optional) — Filter by past company names. Multiple values are OR'd. - `allExperienceDescriptions` (string, optional) — Keyword search on all experience descriptions - `currentExperienceDescriptions` (string, optional) — Keyword search on current experience descriptions - `pastExperienceDescriptions` (string, optional) — Keyword search on past experience descriptions ## Response ### 200 - `count` (PersonDSLCount, required) - `items` (list of any, required) - `pages` (integer, required) - `totalResults` (integer, required) ## Errors ### 400 Bad Request Error - `message` (string, required) ### 429 Search Concurrency Error The customer already has 15 searches in flight. Retry after an active search completes. - `message` (string, required) ### 503 Search Unavailable Error Search admission or invocation is temporarily unavailable. Retry later. - `message` (string, required) ### 401 Unauthorized Error ### 429 Rate Limit Error ### 400 Bad Request Error - `message` (string, required) ## Types ### PersonDSLCount - `value` (string, required) - `isEstimate` (boolean, required) ## Examples **Response** ```json { "count": { "value": "value", "isEstimate": true }, "items": [ { "key": "value" }, { "key": "value" } ], "pages": 1, "totalResults": 1 } ``` **SDK Code** ```python import requests url = "https://data.api.aviato.co/person/simple/search" querystring = {"page":"1","perPage":"1"} headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript const url = 'https://data.api.aviato.co/person/simple/search?page=1&perPage=1'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://data.api.aviato.co/person/simple/search?page=1&perPage=1" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://data.api.aviato.co/person/simple/search?page=1&perPage=1") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://data.api.aviato.co/person/simple/search?page=1&perPage=1") .header("Authorization", "Bearer ") .asString(); ``` ```php request('GET', 'https://data.api.aviato.co/person/simple/search?page=1&perPage=1', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://data.api.aviato.co/person/simple/search?page=1&perPage=1"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://data.api.aviato.co/person/simple/search?page=1&perPage=1")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```