# Check if an e-mail address has a Spotify account

> Find out in real time whether an e-mail address is used for a Spotify account. Yes, no or unknown; no profile or listening data; unknowns are free.

Canonical: https://mobilevalidate.com/services/spotify-email-check · Last updated: 2026-09-25

![An e-mail envelope routed to mail servers found in DNS; two mailboxes are confirmed and one answer is unknown.](https://mobilevalidate.com/images/email-mailbox-verification.svg)

*E-mail checks look up the domain's mail servers, then whether the mailbox exists.*


The Spotify e-mail check answers whether an e-mail address is used for a Spotify account. It runs in real time and in bulk jobs, and returns `registered: true`, `false` or `null` (unknown), with the time we checked. Nothing is sent to the address, and no profile, playlist or listening data is returned.

## What does the Spotify e-mail check tell you?

It tells you whether Spotify has an account associated with the address you send. Spotify offers a free, ad-supported tier alongside paid plans, so an account says nothing about payment. It only shows that someone created a Spotify account with the address. Spotify reported more than 600 million monthly active users in its Q4 2024 results, which makes a "yes" common for addresses in daily consumer use.

Some people sign up through another account provider, such as Google, Apple or Facebook, and the account's e-mail may then be a different address. A "no" for an address therefore doesn't mean the person doesn't use Spotify. It only means this address isn't linked to an account.

- `registered: true`: a Spotify account is associated with the address.
- `registered: false`: a conclusive "no account" for this address.
- `registered: null`: no conclusive answer (`status`, `reason`). Not charged.

## Who uses it, and why?

- **Consumer app sign-ups.** A "yes" at a widely used free service is a light signal that an address is in real use. It is most useful combined with the [mailbox check](/services/email-verification). See [OTP and sign-up fraud](/use-cases/otp-and-signup-fraud).
- **Trial abuse screening** for subscription businesses, together with the [Netflix e-mail check](/services/netflix-email-check).

## What do you get back?

| Field | Type | Meaning |
|---|---|---|
| `email`, `email_status` | string, enum | Normalized address; `valid`, `invalid_email`, `duplicate` or `suppressed` |
| `checks["spotify.email"].registered` | boolean or null | `true` account exists, `false` none, `null` unknown |
| `…status`, `…reason` | enum, string | Outcome, and why an answer is not conclusive |
| `…confidence`, `…checked_at` | enum, timestamp | How sure the answer is, and when it was obtained |
| `…cached`, `…billed` | boolean | Cache hit, and whether it was charged |

## How is it billed?

You pay per address with a conclusive answer. Real-time and bulk have separate prices, shown on [pricing](/pricing). You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate). Cache hits inside the freshness window are free.

## What are the limits?

The check runs in real time (`POST /v1/lookup`, up to 100 numbers and e-mails) and in bulk jobs (`POST /v1/jobs`, up to 50,000). Use the code `spotify.email`. There is no short alias. It is an e-mail-only check, and there is no Spotify phone-number check. A request can hold up to 20 checks. Requests that look like sequential number ranges or generated e-mail lists are rejected: 20 or more addresses in one request on one domain that differ only by digits or separators, or, with live keys, 50 or more of one such pattern per account per UTC day.

## How do I use it responsibly?

Check addresses your own users and customers gave you, for fraud prevention and data quality. We never read mailboxes or send e-mail to the address, and the answer is only yes, no or unknown. Don't use it to profile a person's services or interests, or for unsolicited marketing. The [acceptable use policy](/legal/acceptable-use) forbids both. People can object through the [opt-out form](/opt-out).

## Example request

```bash
curl https://api.mobilevalidate.com/v1/lookup \
  -H "Authorization: Bearer $MOBILEVALIDATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"emails": ["registered@test.mobilevalidate.com"], "checks": ["spotify.email"]}'
```

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

```json
{
  "kind": "email",
  "input": "registered@test.mobilevalidate.com",
  "email": "registered@test.mobilevalidate.com",
  "email_status": "valid",
  "e164": null,
  "country": null,
  "checks": {
    "spotify.email": {
      "service": "spotify.email",
      "status": "completed",
      "registered": true,
      "attributes": null,
      "confidence": "high",
      "confidence_score": 0.99,
      "checked_at": "2026-09-25T14:25:32.383Z",
      "cached": false,
      "age_seconds": 0,
      "billed": false,
      "reason": null,
      "poll_after_ms": null
    }
  },
  "test": true
}
```

## Frequently asked questions

### Does the check return the Spotify profile or playlists?

No. It only answers whether a Spotify account is associated with the address: yes, no or unknown. No username, profile, playlists or listening data is returned.

### Does a yes mean the person pays for Spotify?

No. Spotify has free and paid plans. A yes only means an account uses the address.

### Why might an existing Spotify user show as no?

People can sign up for Spotify through another account provider, such as Google, Apple or Facebook, or with a different e-mail address. The check answers only for the exact address you send.

### What does an unknown answer cost?

Nothing. Inconclusive answers are never charged.

## Service code and modes

- Code: `spotify.email` (input: e-mail address)
- Modes: realtime and bulk · worldwide

## Price (live)

- Realtime (POST /v1/lookup): $0.0003 per check ($0.30 per 1,000)
- Bulk (POST /v1/jobs): $0.00015 per check ($0.15 per 1,000)
- You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate).

## Response fields (from the public catalog)

| Field | Type | Meaning |
|---|---|---|
| registered | boolean or null | true = found, false = not found, null = unknown (not charged) |
| status | enum | completed, pending, unknown, unsupported_country, failed |
| checked_at | timestamp | When the answer was obtained |

_Platform and brand names are used only to describe which service a check refers to. MobileValidate is not affiliated with, endorsed by or sponsored by any of these companies; all trademarks belong to their owners._
