Skip to content
looot docs
Esc
↑↓navigate↵open⌘Jpreview
On this page

Aviato / Search people with simple filters

Aviato tool aviato-person-simple-search on looot: input fields, $0.06 per call, output shape, and code to run it with curl, JavaScript or Python.

Searches people with ready-made filters: fullName, firstName, lastName, headline, LinkedIn connection and follower ranges and more. page and perPage page the results. Returns items with fullName, id, location and LinkedIn and Twitter URLs, plus a count.

Inputs

Name Type Required Description
allCompanyLinkedinIDs array no
allCompanyLinkedinNumIDs array no
allCompanyNames array no
allDepartments array no
allExperienceDescriptions string no
allSchoolLinkedinIDs array no
allSchoolLinkedinNumIDs array no
allTitles array no
country array no
currentCompanyLinkedinIDs array no
currentCompanyLinkedinNumIDs array no
currentCompanyNames array no
currentDepartments array no
currentExperienceDescriptions string no
currentSchoolLinkedinIDs array no
currentSchoolLinkedinNumIDs array no
currentTitles array no
degrees array no
enrich boolean no
fieldsOfStudy array no
firstName array no
fullName string no
headline string no
lastName array no
locality array no
maxLinkedinConnections integer no
maxLinkedinFollowers integer no
minLinkedinConnections integer no
minLinkedinFollowers integer no
page integer yes
pastCompanyLinkedinIDs array no
pastCompanyLinkedinNumIDs array no
pastCompanyNames array no
pastDepartments array no
pastExperienceDescriptions string no
pastSchoolLinkedinIDs array no
pastSchoolLinkedinNumIDs array no
pastTitles array no
perPage integer yes
region array no
skills array no

Output

Shape of the run’s result, the expected shape, not yet checked against real answers:

{ count: { value, isEstimate }, items: { id, URLs: { twitter, linkedin }, fullName, location, entityType }[], pages, totalResults }

Run it

Every call needs your API token in LOOOT_TOKEN; Sign in shows how to get one. Each run also needs a new idempotency key, so a retry never pays twice. With wait: 30 the answer comes back inline when the run ends within 30 seconds. Otherwise you get the running run back: poll GET /v1/runs/<runId>.

Example input with placeholder values:

curl -X POST "https://api.looot.ai/v1/runs" \
  -H "Authorization: Bearer $LOOOT_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"endpointId":"aviato-person-simple-search","input":{"page":1,"perPage":1},"wait":30}'
const response = await fetch("https://api.looot.ai/v1/runs", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.LOOOT_TOKEN}`,
    "Content-Type": "application/json",
    "Idempotency-Key": crypto.randomUUID(),
  },
  body: JSON.stringify({
    endpointId: "aviato-person-simple-search",
    input: {
      page: 1,
      perPage: 1,
    },
    wait: 30,
  }),
});
const run = await response.json();
console.log(run.status, run.result);
import os
import uuid

import requests

response = requests.post(
    "https://api.looot.ai/v1/runs",
    headers={
        "Authorization": f"Bearer {os.environ['LOOOT_TOKEN']}",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    json={
        "endpointId": "aviato-person-simple-search",
        "input": {
            "page": 1,
            "perPage": 1,
        },
        "wait": 30,
    },
    timeout=90,
)
run = response.json()
print(run["status"], run.get("result"))

To let looot pick among every provider of this job instead, send job:people.search as endpointId; see the job page.

Was this page helpful?