BulkPhone input

Check if a phone number is registered on LINE

Check in bulk whether phone numbers have a LINE account, useful where LINE is the main messenger. Yes, no or unknown; unknowns are free.

Last updated

checks: ["line.registered"]
A phone with chat bubbles; one messaging-app check says registered, another is unknown.A phone with chat bubbles; one messaging-app check says registered, another is unknown.

The LINE check tells you whether phone numbers have a LINE account. LINE is the everyday messenger in Japan, Taiwan and Thailand, so the check matters most for customers there. It runs in bulk jobs, answers registered: true, false or null (unknown) per number, and returns no LINE ID, name or photo.

What does the LINE check tell you?

It answers whether a LINE account is associated with the number. LINE launched in Japan in 2011 and is now run by LY Corporation, which was formed in 2023 by merging LINE with Yahoo Japan's operator. Accounts are usually registered with a phone number, confirmed by a code. Contacts connect by phone number, by LINE ID, by QR code or through friend lists.

  • registered: true: a LINE account is associated with the number.
  • registered: false: a conclusive answer that none is.
  • registered: null: no conclusive answer; not charged.

Because LINE also lets people connect through IDs and QR codes, some accounts are not easy to find by number. A false means "not reachable through this number". It does not prove the person has no LINE account.

Who uses it, and why?

LINE is more than a messenger in its core markets. It is also where people follow brands, get coupons and receive service notices, and businesses reach their followers through official accounts.

  • Channel planning for Japanese, Taiwanese and Thai customers. Companies expanding into these markets check which opted-in customers are on LINE before investing in an official account, instead of assuming WhatsApp coverage. See channel selection.
  • Customer-contact hygiene. A regional contact list can be batch-checked to see which numbers still show messenger activity. Numbers without LINE, WhatsApp or Telegram may need re-verification.
  • Sign-up screening in LINE markets. For a Japanese or Thai mobile number, the absence of a LINE account is unusual enough to feed into fraud scoring. It is not proof of fraud. Combine it with a carrier lookup.

What do you get back?

Each job row carries checks["line.registered"]; the service has no extra attributes.

FieldTypeMeaning
registeredboolean or nulltrue account found, false none found, 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 / age_seconds / billedboolean / integer / booleanCache and billing details
reasonstring or nullWhy the answer is not conclusive

How is it billed?

Per number, for conclusive answers only, at the bulk price. You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate). Run POST /v1/jobs/estimate for a free maximum-cost preview, and set max_cost to cap the job. See pricing.

Numbers your account checked recently can be answered from its cache free of charge. max_age: 0 forces fresh, billed checks.

What are the limits?

LINE runs in bulk jobs only. POST /v1/lookup refuses it with 403 service_disabled ("The check 'line.registered' is available in bulk jobs only (POST /v1/jobs).").

  • Up to 50,000 numbers and e-mails per job, 20 checks per request, 100,000 number × check pairs per job.
  • Numbers from every country are accepted. Japanese numbers written in national format (starting with 0) need default_country: "JP".
  • Requests that look like sequential number ranges or generated e-mail lists are rejected.
  • A daily number cap applies per account. Follow progress with GET /v1/jobs/{id}?wait=30 or a webhook.

How do I use it responsibly?

Check numbers of customers who gave them to you and agreed to be contacted. In LINE markets, people expect businesses to reach them through official accounts they chose to follow, not through unsolicited messages. Our acceptable use policy forbids unsolicited bulk messaging, building profiles of people and scanning number ranges. Japan and Thailand have their own data protection laws. Make sure you have a lawful basis for each list you check. People can object via the opt-out form.

Example request

Test jobs complete at once. +447700900001 answers registered, …002 not registered and …003 unknown. See test mode.

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

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.

Job (excerpt, test mode):

JSON
{
  "object": "job",
  "id": "job_0VWF4kHhV5Pc5QNT3EAJ",
  "status": "completed",
  "livemode": false,
  "checks": [
    "line.registered"
  ],
  "created_at": "2026-09-25T14:25:30.001Z",
  "completed_at": "2026-09-25T14:25:30.005Z",
  "progress": {
    "total": 3,
    "checks_total": 3,
    "done": 3,
    "conclusive": 2,
    "non_billable": 3
  },
  "retention_days": 30
}

First row from GET /v1/jobs/{id}/results (test mode):

JSON
{
  "kind": "phone",
  "input": "+44770*****01",
  "e164": "+447700900001",
  "country": "GB",
  "number_status": "valid",
  "checks": {
    "line.registered": {
      "service": "line.registered",
      "status": "completed",
      "registered": true,
      "attributes": null,
      "confidence": "high",
      "confidence_score": 0.99,
      "checked_at": "2026-09-25T14:25:30.005Z",
      "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":["line.registered"]}'

Real test-mode result for this check

checks["line.registered"]
{
  "service": "line.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["line.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

Where is the LINE check most useful?

In markets where LINE is the main messenger, above all Japan, Taiwan and Thailand. The check accepts numbers from any country, but outside those markets most answers will be not registered.

Can a LINE account exist without a phone number?

LINE accounts are normally registered with a phone number, but people can also sign in with other login methods, and their number settings can differ. An account that is not linked to the number cannot be found through it.

Why is LINE bulk only?

LINE answers are gathered in batches, so the check runs in POST /v1/jobs. POST /v1/lookup refuses it with service_disabled.

Does the check return the LINE ID or display name?

No. Only whether an account is associated with the number. LINE IDs, display names and profile images are never returned.

All articles

Add LINE number check to your stack

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