---
name: looot-find-phone-numbers
description: Find a phone number. Use when the user says things like "find the mobile number for this LinkedIn profile", "get a phone number for Jane Doe at example.com" or "what is the direct line for this person". Runs through looot, billed per call.
---

# Find a phone number

Phone number finder API for an agent: it sends a LinkedIn profile URL, an email, or a name and a company domain to a catalog endpoint and reads phone number, line type and country code back. Several providers sell the call, so the agent tries the cheapest first. You pay per call, and a failed call costs nothing.

This skill needs the looot skill set up first: https://looot.ai/skill.md

## Ask for these inputs

The job takes a LinkedIn profile URL, an email, or a name and a company domain. Example: https://www.linkedin.com/in/jane-doe-example.

- A LinkedIn profile URL, an email, or a name with a company domain

## Run it

1. Find the endpoint: `looot discover --mode auto --query "phone number finder"`. The endpoints listed below are the known matches.
2. Read the price and the input schema before spending: `looot inspect <endpoint-id>`. Tell the user the price, then run.
3. Run it: `looot run tomba-phone-finder --input '{"linkedin":"https://www.linkedin.com/in/jane-doe-example"}' --idempotency-key <new-key> --wait`. Reuse the same key only to retry the same request.
4. Read the run's `status` and `error`, not the HTTP status. A run can return `failed` with a normal response.
5. If a run fails with a provider error or times out, try the next endpoint from the list below, cheapest first. If it fails on your input (a 4xx style error), fix the input. Do not retry it on other providers.

## Endpoints

Each endpoint reads the same job from a different provider. They differ in inputs, fields and price. Run `looot inspect` on the ones that take the input you hold, start with the cheapest, and move to the next on a provider error.

- `tomba-phone-finder`: starts from an email, a LinkedIn URL or a domain, and returns international, local and E.164 formats with line type and carrier
- `ai-ark-people-mobile-phone-finder`: takes a LinkedIn URL, or a name with a domain, and returns null data when no person or no phone is found
- `leadmagic-people-mobile-finder`: takes a profile URL, a work email or a personal email and returns the mobile number
- `aviato-person-phone`: takes one identifier, such as an email, a LinkedIn URL or a Crunchbase id, and returns phone numbers with a score
- `findymail-api-search-phone`: takes a LinkedIn URL and returns the phone and its line type, with no result for EU citizens
- `lusha-contacts-phone-find`: takes a LinkedIn URL, an email, or a name with a domain, and is billed more when it finds a number than when it only matches the person
- `anysite-api-phones-find`: takes a LinkedIn URL and returns matches with a confidence level and how each was resolved

## What comes back

- Phone number
- Line type
- Country code and format
- Carrier
- Match confidence

## Answer rule

Return the number, its line type and the match confidence. Say plainly when nothing matched instead of guessing.

## Before you start

- Know the region you call. One provider here returns no result for EU citizens for legal reasons, and others hold thinner data outside the US.
- Respect do-not-call flags. One provider returns a doNotCall field, and your agent should keep it with the number.
- A number that is found is billed. A lookup that matches nobody is often free, but the rules differ per provider, so read the endpoint page for the exact charge.

## Cost rules

- Searching and inspecting are free. Running is billed per call at the price `looot inspect` shows.
- Say the price before the first run, and the total after a batch.
- Never loop a failing call. Stop after two failures and report what failed.

## When not to use this skill

Use `looot-enrich-a-person` instead when you need the title, employer and location around the number, not only the number.

Page for people: https://looot.ai/agent-skills/find-phone-numbers
