Look up a social profile
Get a LinkedIn, TikTok or Instagram profile through looot, with the right input field for each network.
Four jobs cover the common networks. Each takes a different input shape, so check the table before you run one.
What it costs
search {"filters": {"capability": "linkedin.person.profile"}, "prefer": "cheapest"}
On 2026-09-28 the cheapest listed prices were linkedin.person.profile around $0.0019 per call,
linkedin.company.profile around $0.0036 per call, tiktok.user.profile around $0.001 per call,
and instagram.user.profile around $0.0019 per call. Read the live number before a batch.
| Network | Job | Input |
|---|---|---|
| LinkedIn person | job:linkedin.person.profile |
linkedin_url |
| LinkedIn company | job:linkedin.company.profile |
linkedin_url |
| TikTok | job:tiktok.user.profile |
handle (no @) |
job:instagram.user.profile |
handle (no @) |
Run the lookup
run {"endpointId": "job:tiktok.user.profile", "input": {"handle": "example"}, "idempotencyKey": "social-tiktok-example", "fallback": true}curl -s "https://api.looot.ai/v1/runs?wait=20" \
-H "Authorization: Bearer $LOOOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"endpointId": "job:tiktok.user.profile",
"input": {"handle": "example"},
"idempotencyKey": "social-tiktok-example",
"fallback": true
}'looot run job:tiktok.user.profile --input '{"handle": "example"}' --waitFor LinkedIn, send linkedin_url, not handle:
run {"endpointId": "job:linkedin.person.profile", "input": {"linkedin_url": "https://www.linkedin.com/in/example"}, "idempotencyKey": "social-linkedin-example", "fallback": true}Read the profile
These four jobs have no normalized map yet: read the profile fields from result and check
which provider answered (servedProviderId), since the field names can differ between providers on
the same job.
Another network
For a network not in the table (X, YouTube), search for it in plain words and read jobInputs on
the result before you run it:
search {"query": "x user profile"}What the answer looks like
| Field | What it is |
|---|---|
status |
completed, failed, queued, running |
outcome |
hit, weak, miss, error, rejected, skipped or pending |
servedProviderId |
the provider that answered |
actualCost |
what this run charged |
route.summary |
fallback runs only |
On a miss or error
- A handle or profile that does not exist, or a private account:
outcomeismiss. Withfallback, the next provider of the same job gets a try inside the same hold. - A LinkedIn URL that redirects to a sign-in wall reads the same way as a miss on some
providers; if you get an empty profile back, try
fallbackbefore concluding the profile does not exist. insufficient_balance: the run is blocked and not charged. Usetop_up, then retry with a newidempotencyKey.