# Migrate from a phone finder

Each guide maps one provider's phone and mobile lookups to the Tomba [Phone Finder](/api/phone#phone-finder) and [Phone Validator](/api/phone#phone-validator).

## Guides

| Provider    | Guide                                                           |
| ----------- | --------------------------------------------------------------- |
| Lusha       | [Migrate from Lusha](/migration/phone-finder/lusha)             |
| ContactOut  | [Migrate from ContactOut](/migration/phone-finder/contactout)   |
| Kaspr       | [Migrate from Kaspr](/migration/phone-finder/kaspr)             |
| RocketReach | [Migrate from RocketReach](/migration/phone-finder/rocketreach) |

## What changes in every migration

| Area                       | Change                                                                                                                                                                                                                                                                                                                                                                          |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Authentication             | Every request sends `X-Tomba-Key` and `X-Tomba-Secret` headers. Tomba doesn't read keys from the query string. See [Authentication](/authentication).                                                                                                                                                                                                                           |
| Inputs                     | [`GET /v1/phone-finder`](/api/phone#phone-finder) takes an `email`, a LinkedIn profile URL in `linkedin`, or a company `domain`, alone or combined; send at least one. A `domain` returns the company's number, not a person's. The phone finder doesn't take a name: look up a person by name and company with the email finder and `enrich_mobile=true`.                      |
| Phones on finder endpoints | Set `enrich_mobile=true` on [`GET /v1/email-finder`](/api/finder#email-finder), [`GET /v1/linkedin`](/api/finder#linkedin-finder), [`GET /v1/enrich`](/api/finder#email-enrichment), [`GET /v1/domain-search`](/api/finder#domain-search), or [`GET /v1/email-verifier`](/api/verifier#email-verifier) to get the person's numbers in `phone_data` with the rest of the result. |
| Results                    | The phone finder returns one number in `data`, preferring a valid one. Set `full=true` to get an array of every number found. When nothing is found, the response is `200` with `data` as an empty array.                                                                                                                                                                       |
| Response                   | Each number comes in E.164, international, national, and RFC 3966 formats, with its country, line type, carrier, region, and time zones. See [Phone response](/attributes/phone).                                                                                                                                                                                               |
| Validation                 | Check a number you already have with [`GET /v1/phone-validator`](/api/phone#phone-validator). A number that isn't valid returns `200` with an empty `data` array.                                                                                                                                                                                                               |
| Withheld data              | A claimed email address or LinkedIn profile sent to the phone finder returns `451 claimed_email` or `451 claimed_linkedin`, and claimed numbers are left out of its results. The phone validator returns `451 claimed_phone` for a claimed number. See [Status codes](/error-handling#status-codes).                                                                            |
| Billing                    | The phone finder's cost depends on whether you send `domain`, and phone numbers returned with `enrich_mobile=true` cost extra. See [Credit costs](/usage-and-quotas#credit-costs).                                                                                                                                                                                              |
| Lists                      | Run a bulk job: `phone-finder` takes email addresses, LinkedIn URLs, or domains, and `phone-validator` takes phone numbers. Create the job, launch it, poll its progress, and download a CSV. See [Phone finder](/bulks#phone-finder) and [Lifecycle](/bulks#lifecycle).                                                                                                        |
