BulkPhone inputUS, IN

Check if a phone number has a LinkedIn account

Check in bulk whether a LinkedIn account is associated with US or Indian phone numbers, for B2B lead verification. Other countries are free.

Last updated

checks: ["linkedin.registered"]
A phone number checked against a grid of generic account tiles, each marked registered, not registered or unknown.A phone number checked against a grid of generic account tiles, each marked registered, not registered or unknown.

The LinkedIn check indicates whether a LinkedIn account is associated with a phone number from the United States or India. It runs in bulk jobs only and answers registered: true, false or null (unknown) per number, with the time of the check. It never returns profiles, names, job titles or employers.

What does the LinkedIn check tell you?

It tells you whether a US or Indian phone number is linked to a LinkedIn account. LinkedIn is Microsoft's professional network (Microsoft completed the acquisition in December 2016). Members can add a phone number for sign-in, account recovery and two-step verification. Most people join with an e-mail address, and the number is optional.

  • registered: true: a LinkedIn account is associated with the number.
  • registered: false: a conclusive "no". Common, because many members never add a number.
  • registered: null: no conclusive answer. Not charged.
  • status: unsupported_country: the number is not from the US or India. Not charged.

Of the social checks in the catalog, this is the only one limited to these two markets. Coverage outside them is not offered, because we only sell a check where conclusive answers are available at a useful rate.

Who uses it, and why?

The LinkedIn check is mainly a B2B lead-verification signal. When a sales team receives a US or Indian lead through a demo request or event sign-up, a number with a LinkedIn account behind it is more likely to belong to a working professional than to be a typo or a throwaway number.

  • Lead scoring for inbound forms. Run consented leads through a nightly job and add the result as one scoring input. Pair it with the US carrier lookup or the carrier lookup to see whether the line is mobile, fixed or VoIP. See lead verification.
  • CRM hygiene. Bulk-check contact numbers you already hold for existing business relationships to spot dead entries.

For addresses rather than numbers, use the LinkedIn e-mail check. It has no country limit and also runs in bulk.

What do you get back?

Each number gets one result under checks["linkedin.registered"], with no extra attributes.

FieldTypeMeaning
registeredboolean or nulltrue account associated, false none, null unknown
statusenumcompleted, pending, unknown, unsupported_country or failed
confidence / confidence_scoreenum / 0–1How sure the answer is
checked_attimestampWhen the answer was obtained
cached / billedbooleanServed from cache; charged or not
reasonstring or nullWhy an answer is not conclusive, e.g. UNSUPPORTED_COUNTRY

How is it billed?

You pay the bulk price per number, only for conclusive answers. You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate). A mixed international list therefore costs nothing for its non-US, non-Indian rows. The free POST /v1/jobs/estimate counts them under unsupported and shows the maximum cost. See pricing.

What are the limits?

  • Bulk only: POST /v1/jobs, up to 50,000 numbers and e-mails per job, and at most 100,000 numbers × checks. POST /v1/lookup answers 403 service_disabled.
  • Countries: US and IN only.
  • Requests that look like sequential number ranges or generated e-mail lists are rejected.
  • A daily cap per account applies (GET /v1/limits). Job data is kept for 30 days by default.

How do I use it responsibly?

Business contacts are still people with privacy rights. Check only leads and contacts you have a lawful basis to process. Don't use the answer to add numbers to cold-outreach lists. Never try to match numbers to profiles: we don't support it, and our acceptable use policy forbids profiling and unsolicited messaging. People can object at /opt-out.

Example request

See test mode and bulk jobs. The test numbers work here even though they are UK numbers.

curl https://api.mobilevalidate.com/v1/jobs \
  -H "Authorization: Bearer mv_test_publicSandboxn9ZgneuhR1B9CRfKG3fulym" \
  -H "Content-Type: application/json" \
  -d '{"numbers":["+447700900001","+447700900002","+447700900003"],"checks":["linkedin"]}'

Runs as pasted with the public sandbox key, which answers the test values only. In the SDKs, omit the key to use MOBILEVALIDATE_API_KEY.

Result row (excerpt, test mode: the first item of data from GET /v1/jobs/{id}/results):

JSON
{
  "kind": "phone",
  "input": "+44770*****01",
  "e164": "+447700900001",
  "country": "GB",
  "number_status": "valid",
  "checks": {
    "linkedin.registered": {
      "service": "linkedin.registered",
      "status": "completed",
      "registered": true,
      "attributes": null,
      "confidence": "high",
      "confidence_score": 0.99,
      "checked_at": "2026-09-25T14:25:30.952Z",
      "cached": false,
      "age_seconds": 0,
      "billed": false,
      "reason": null,
      "poll_after_ms": null
    }
  },
  "test": true
}

Try it now

Bulk-only service: create a job via POST /v1/jobs, then read GET /v1/jobs/{id}/results. Every example runs as pasted: it uses the public sandbox key, which answers the test values for free. In the SDKs, omit the key to use MOBILEVALIDATE_API_KEY.

curl https://api.mobilevalidate.com/v1/jobs \
  -H "Authorization: Bearer mv_test_publicSandboxn9ZgneuhR1B9CRfKG3fulym" \
  -H "Content-Type: application/json" \
  -d '{"numbers":["+447700900001"],"checks":["linkedin.registered"]}'

Real test-mode result for this check

checks["linkedin.registered"]
{
  "service": "linkedin.registered",
  "status": "completed",
  "registered": true,
  "attributes": null,
  "confidence": "high",
  "confidence_score": 0.99,
  "checked_at": "2026-09-25T14:25:28.979Z",
  "cached": false,
  "age_seconds": 0,
  "billed": false,
  "reason": null,
  "poll_after_ms": null
}

What you get

Fields of checks["linkedin.registered"], generated from the public service catalog.

FieldTypeMeaning
registeredboolean | nulltrue = found, false = not found, null = unknown (not charged).
statusenumcompleted, pending, unknown, unsupported_country or failed.
checked_attimestampWhen the answer was obtained.

Frequently asked questions

Which countries does the LinkedIn check cover?

United States (+1 numbers assigned to the US) and India (+91). Numbers from any other country come back as unsupported_country and are not charged.

Can I run it in real time during a form submission?

No. The LinkedIn check runs in bulk jobs only (POST /v1/jobs). For an instant signal during a sign-up, combine real-time checks such as the carrier lookup instead.

Do I get the person's LinkedIn profile, job title or employer?

No. The check only indicates whether a LinkedIn account is associated with the number. No profile URL, name, photo, job title or employer is returned, and we never enrich leads with profile data.

Is there a LinkedIn check for e-mail addresses?

Yes. The separate linkedin.email service checks an address and runs in bulk jobs only. It does not have the phone check's country limit.

Can a test key check non-US numbers?

Yes. In test mode the documented test numbers (+44 7700 900xxx) work for every service, including country-limited ones. Other non-US, non-Indian numbers answer unsupported_country, as they do in live mode.

Add LinkedIn number check to your stack

Request access to MobileValidate. Start in test mode, go live when you are ready.