BulkE-mail input

Check if an e-mail address has a Yandex account

Check in bulk whether Yandex Mail addresses such as yandex.ru, yandex.com and ya.ru have an account. Yes, no or unknown per address; unknowns are free.

Last updated

checks: ["yandex.email"]
An e-mail envelope routed to mail servers found in DNS; two mailboxes are confirmed and one answer is unknown.An e-mail envelope routed to mail servers found in DNS; two mailboxes are confirmed and one answer is unknown.

The Yandex check answers whether an e-mail address has a Yandex Mail account. It covers yandex.ru, yandex.com, the short ya.ru and older country domains. It runs in bulk jobs and returns registered: true, false or null (unknown) for each address, with the time we checked. Nothing is sent to the address and no mailbox is read.

What does the Yandex check tell you?

It tells you whether Yandex has a mail account at the address you send. Yandex Mail is one of the main consumer e-mail services in Russia and is widely used by Russian-speaking people in neighbouring countries. Users can receive mail under several domain names. yandex.ru is the classic one, ya.ru is a short alias, yandex.com is the international variant, and older accounts also used domains such as yandex.by, yandex.kz or yandex.ua.

  • registered: true: a Yandex account exists at this address.
  • registered: false: a conclusive "no account".
  • registered: null: no conclusive answer. status and reason explain it, and you are not charged.

The alias domains matter for data quality. The same person may appear as [email protected] in one system and [email protected] in another. We don't rewrite addresses, so each spelling is checked and billed as its own row. Merge them before you submit if you want one answer per person.

Who uses it, and why?

The Yandex check is for businesses whose customers include Russian-speaking users. Those users often sign up with Yandex addresses, and generic webmail checks cover them less well.

  • Sign-up and promo abuse. Throwaway registrations for bonuses and trials often use invented addresses at the largest local provider. A batch run over new sign-ups flags Yandex addresses that never existed. See OTP and sign-up fraud.
  • Deliverability for transactional mail. Removing Yandex addresses without an account before you send receipts or security notices protects your sender reputation with the provider.
  • CRM hygiene. Mixed databases collect both yandex.ru and ya.ru spellings. Checking them shows which records still reach a real mailbox.

The Mail.ru check covers the other large Russian-language provider. Run both in one job to cover a list with Russian-speaking customers. For phone-based checks in the same region, see the VK check.

What do you get back?

Each address becomes a row with kind: "email" and one entry per check in checks.

FieldTypeMeaning
emailstring or nullNormalized address (trimmed, lowercased); null when invalid
email_statusenumvalid, invalid_email, duplicate or suppressed
checks["yandex.email"].registeredboolean or nulltrue account exists, false none, null unknown
…statusenumcompleted, pending, unknown, unsupported_country or failed
…reasonstring or nulle.g. UPSTREAM_TIMEOUT
…confidence, …checked_atenum, timestampHow sure the answer is, and when it was obtained
…cached, …billedbooleanCache hit, and whether it was charged

Downloads add yandex.email.status, yandex.email.registered and yandex.email.billed columns in your original row order.

How is it billed?

You pay the bulk price per address with a conclusive answer. You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate). The free POST /v1/jobs/estimate call returns row counts and the maximum cost first. See pricing for current rates.

Repeat checks of the same address inside the freshness window can come from your account's cache, and cache hits are free.

What are the limits?

The Yandex check is bulk only. POST /v1/lookup answers 403 service_disabled ("The check 'yandex.email' is available in bulk jobs only (POST /v1/jobs)."). A job accepts up to 50,000 numbers and e-mails.

  • Up to 20 checks per request. Identifiers × applicable checks are capped at 100,000 per job.
  • Requests that look like sequential number ranges or generated e-mail lists are rejected. Twenty or more addresses in one request on one domain whose local parts differ only by digits or separators are refused with suspected_enumeration. Live keys are also limited to 50 addresses of one such pattern per account per UTC day.
  • The daily cap counts e-mail addresses like numbers (see GET /v1/limits).
  • Job results are kept for 30 days by default and can be purged earlier.

How do I use it responsibly?

Check addresses of your own customers, users and leads, where you have a lawful basis. We never read mailboxes or send e-mail to the address. The answer is yes, no or unknown and contains no personal details.

Don't use the check to find out whether a particular person uses Yandex, and don't use it to prepare unsolicited mailings. The acceptable use policy forbids both. Anyone can object through the opt-out form. Suppressed addresses are skipped and free.

Example request

Test keys return fixed answers for test.mobilevalidate.com addresses (see test mode).

curl https://api.mobilevalidate.com/v1/jobs \
  -H "Authorization: Bearer mv_test_publicSandboxn9ZgneuhR1B9CRfKG3fulym" \
  -H "Content-Type: application/json" \
  -d '{"emails":["[email protected]","[email protected]","[email protected]"],"checks":["yandex"]}'

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 of GET /v1/jobs/{id}/results (excerpt, test mode: the first item of data):

JSON
{
  "kind": "email",
  "input": "re•••@test.mobilevalidate.com",
  "email": "[email protected]",
  "email_status": "valid",
  "e164": null,
  "country": null,
  "checks": {
    "yandex.email": {
      "service": "yandex.email",
      "status": "completed",
      "registered": true,
      "attributes": null,
      "confidence": "high",
      "confidence_score": 0.99,
      "checked_at": "2026-09-25T14:25:57.575Z",
      "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 '{"emails":["[email protected]"],"checks":["yandex.email"]}'

Real test-mode result for this check

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

What you get

Fields of checks["yandex.email"], 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 domains does Yandex Mail use?

The main ones are yandex.ru, yandex.com and the short ya.ru. Some older addresses use country domains such as yandex.by or yandex.kz. Yandex treats these as alternative names for the same mailbox, but we check each address exactly as you send it.

Does the check send an e-mail or read the mailbox?

No. Nothing is sent to the address and no mailbox is opened. You get yes, no or unknown, never a name, avatar or profile.

Is the Yandex check available in real time?

No, it is offered in bulk jobs only for now. POST /v1/lookup refuses it with service_disabled; use POST /v1/jobs.

Do you merge [email protected] and [email protected] into one row?

No. We only trim and lowercase addresses, so the two spellings are separate rows and are each checked. Merge them yourself first if you want one row per mailbox.

Add Yandex account check by e-mail to your stack

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