RealtimeBulkPhone input

Check if a phone number has an Amazon account

Check in real time whether an Amazon customer account is associated with a phone number. Yes, no or unknown per number; unknowns are free.

$0.001 per check real-time, $0.0005 in bulk ($1.00 / $0.50 per 1,000). Unknowns are free. Try 20 numbers for real, free, after sign-up.

Start free

Last updated

The Amazon check indicates whether an Amazon customer account is associated with a phone number. It runs in real time and in bulk jobs, for numbers from any country, and answers registered: true, false or null (unknown) with the time of the check. It never returns names, addresses, orders or payment details.

What does the Amazon check tell you?

It tells you whether a phone number is linked to an Amazon account. Amazon lets customers sign in with a mobile number, and in some marketplaces an account can be created with a mobile number instead of an e-mail address. The same customer account is typically used across Amazon's shopping sites and its other consumer services.

  • registered: true: an Amazon account is associated with the number.
  • registered: false: a conclusive "no", including customers who registered with e-mail only.
  • registered: null: no conclusive answer. Not charged.

Who uses it, and why?

Online shops, marketplaces and delivery services use the Amazon check as one fraud signal among several.

  • Checkout and sign-up protection. A number that has been used as a shopping login has probably received delivery notifications and one-time codes, which suggests a person's everyday number. See OTP and sign-up fraud.
  • Promotion and trial abuse. Batches of new accounts whose numbers have no history on large consumer platforms can be sent for review, with the carrier lookup added for line type.

For addresses rather than numbers, use the Amazon e-mail check.

What do you get back?

Each number gets one result under checks["amazon.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

How is it billed?

You pay per number checked, only for conclusive answers. You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate). Real-time and bulk checks are priced separately. See pricing. Cache hits are free, and max_age: 0 forces a fresh, billed check.

What are the limits?

  • Real time (POST /v1/lookup, up to 100 identifiers) and bulk jobs (POST /v1/jobs, up to 50,000 per job), for numbers from every country.
  • Up to 20 checks per request. Numbers × checks is capped at 2,000 per lookup and 100,000 per job.
  • Requests that look like sequential number ranges or generated e-mail lists are rejected.
  • A daily cap per account applies (GET /v1/limits).

How do I use it responsibly?

Treat the answer as a risk signal about a number, not a judgement about a person. Never use it for eligibility decisions. Check only numbers you have a lawful basis to process. The acceptable use policy forbids profiling, working through number lists and unsolicited messaging. People can object at /opt-out.

Example request

With a test key, +447700900001 answers "registered". See test mode.

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

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.

Response (excerpt, test mode: the first item of results):

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

Try it now

Run it here with a test value: the console calls the live API from your browser with the public sandbox key and shows the real JSON and a plain-English verdict.

POST /v1/lookup

Public sandbox key · test values only · never billed

The sandbox answers the test values below. To check your own numbers for real, create a free account: your first 20 phone numbers and 10 e-mail addresses are free.

Test numbers
Test e-mails
Checks · phone · 1 selected

Pick a test value or press Run

Press Run or pick a test value above: the console sends a real request to the API with the public sandbox key and shows the answer here.

Check your own numbers: 20 phone numbers and 10 e-mail addresses are checked for real, free, after sign-up. Start free

checks: ["amazon.registered"] · Realtime lookup via POST /v1/lookup. 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/lookup \
  -H "Authorization: Bearer mv_test_publicSandboxn9ZgneuhR1B9CRfKG3fulym" \
  -H "Content-Type: application/json" \
  -d '{"numbers":["+447700900001"],"checks":["amazon.registered"]}'

Real test-mode result for this check

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

What you get

Fields of checks["amazon.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

Does the check reveal orders, addresses or payment data?

No. It only indicates whether an Amazon account is associated with the number. No name, address, order history or payment information is returned.

Why would a regular Amazon customer come back as not registered?

Amazon accounts can be created with an e-mail address, and a phone number is not always attached. False means no account is associated with this particular number.

Is there an e-mail version?

Yes. The amazon.email service answers the same question for an e-mail address, also in real time.

Can I check sellers or business accounts separately?

No. The check does not distinguish account types. It answers only whether an Amazon account is associated with the number.

Is there a free amazon number check?

Yes, to try it on your own data: create a free account and check up to 20 phone numbers for real on the dashboard's Try it page, at no cost. Test mode with documented test values is free and unlimited. After that, a amazon number check costs $0.001 per check in real time ($1.00 per 1,000) and $0.0005 in bulk jobs ($0.50 per 1,000), paid from prepaid credit. Unknown and other inconclusive results are always free.

All articles

Add Amazon number check to your stack

Create a free MobileValidate account: approved automatically, usually within 10–15 minutes. Amazon number check: $0.001 per check real-time, $0.0005 in bulk ($1.00 / $0.50 per 1,000).

Free to start: check 20 phone numbers and 10 e-mail addresses for real on your account, plus an unlimited test mode. You pay only for conclusive answers, from $20.