# How to check if a phone number uses iMessage

> What iMessage registration means, blue vs green bubbles, iMessage vs RCS on iPhone, what businesses can and can't send, and a bulk API example.

Canonical: https://mobilevalidate.com/blog/check-if-a-number-has-imessage · Last updated: 2026-09-25

![Cover: How to check if a phone number uses iMessage](https://mobilevalidate.com/og/blog/check-if-a-number-has-imessage.png)


By MobileValidate team (https://mobilevalidate.com/about) · Published: 2026-09-25 · Category: Guides · Tags: iMessage, RCS, Channel selection, Bulk jobs, Consent

To check whether a phone number uses iMessage, run an iMessage registration check in a bulk job. Each number comes back as a dated yes, no or unknown. Because iMessage exists only on Apple devices, a registered number almost always means an iPhone. A business can't use the answer to start iMessage conversations, though. It's a device-platform and channel-planning signal. This guide explains what the answer means, how iMessage relates to RCS and SMS on iPhone, and how to run the check with the API.

## What does iMessage registration actually mean?

iMessage is Apple's messaging service, built into the Messages app on iPhone, iPad, Mac and other Apple devices. When someone activates an iPhone, iMessage normally registers the phone number so that other Apple users can reach it. According to [Apple's support page](https://support.apple.com/en-us/104972), iMessage sends messages "to another iPhone or another Apple device over Wi-Fi or cellular-data networks", with end-to-end encryption, read receipts and typing indicators.

A registration check answers whether the number is registered for iMessage right now:

- `registered: true`: the number is registered for iMessage on an Apple device.
- `registered: false`: a conclusive answer that it isn't. Common for Android users.
- `registered: null`: no conclusive answer, and not charged.

There's no Android version of iMessage and nobody installs it separately. So `true` is strong evidence of an Apple device, which is why teams use it for device-platform planning. It says nothing about who the person is. We don't return Apple Account details, device models or anything else.

## What do blue and green bubbles tell you?

The bubble colour shows which service carried a message. Apple's support page is explicit: messages sent with iMessage "appear in blue text bubbles", while RCS and SMS/MMS messages "appear in green text bubbles" ([Apple](https://support.apple.com/en-us/104972)).

| Bubble on an iPhone | Service | Typical reason |
|---|---|---|
| Blue | iMessage | Both sides use Apple devices with iMessage on |
| Green | RCS | Other side isn't on iMessage; both carriers support RCS (iOS 18 or later) |
| Green | SMS/MMS | Other side isn't on iMessage and RCS isn't available |

For a consumer, green is just a colour. For a business planning messages, it's a hint about which features will work: an iMessage-registered customer receiving a text from a business number still gets it as SMS, or as RCS if the sender uses RCS, never as iMessage. The registration check tells you about the handset, not about how your own messages will travel.

## How does iMessage relate to RCS on iPhone?

Since iOS 18, released in September 2024, the Messages app "supports RCS for richer media and more reliable group messaging compared to SMS and MMS" when messaging contacts who don't have an Apple device ([Apple, 2024](https://www.apple.com/newsroom/2024/09/ios-18-is-available-today-making-iphone-more-personal-and-capable-than-ever/)). Apple's support page adds that RCS on iPhone needs iOS 18 and a carrier that supports RCS on iPhone.

That creates a three-tier fallback inside the Messages app: iMessage first, then RCS, then SMS/MMS. For a business, the two checks answer different questions:

| Question | Check | Mode |
|---|---|---|
| Is this customer on an Apple device? | `imessage` | bulk only |
| Can this number receive RCS right now? | `rcs` (with `device_os` when reported) | bulk only |
| Is it a mobile number at all? | `carrier` (`line_type`) | real time + bulk |

If you plan to send branded RCS messages, the [RCS capability check](/blog/rcs-capability-check-explained) is the one that matters. The iMessage check tells you how many of your customers are on iPhones, which helps you preview message formats on the right platform.

## Can a business send iMessages?

Not to a phone number. Apple's business channel is **Apple Messages for Business**, and it works differently from SMS or WhatsApp:

- **The customer starts the conversation.** Apple's FAQ says customers initiate a conversation by tapping a Messages button on your website, app, e-mail, QR code, Apple Maps listing or registered business phone number ([Apple FAQ](https://register.apple.com/resources/messages/messaging-documentation/faq)).
- **You don't see the phone number.** Apple generates an anonymous identifier for each conversation, and "your team never sees the customer's phone number unless the customer chooses to share it".
- **Proactive messages have limits.** Businesses can send them only to customers who previously started a conversation, and only when it's in the customer's direct interest, such as order updates or appointment reminders. When a customer ends a conversation, you stop.
- **You need an approved messaging service provider** to run it ([Apple](https://register.apple.com/resources/messages/messaging-documentation/)).

So an iMessage registration answer never opens an outbound channel. It helps you decide where to put a "Message us" button and which formats to design for. Apple also asks businesses to call the service "Apple Messages" rather than "iMessage" in customer-facing communications.

## Why can the answer be wrong or out of date?

Registration can outlast the device. Apple's own help page exists for this case: you "may need to turn off iMessage if you are now using a non-Apple phone and cannot get SMS or text messages someone sends you from an iPhone" ([Apple](https://selfsolve.apple.com/deregister-imessage/)). Until the person turns iMessage off or deregisters the number, it can still appear as registered.

| Situation | What the check may say | How to read it |
|---|---|---|
| Customer moved from iPhone to Android recently | `true` | Stale registration; re-check later |
| Customer uses iMessage only with an e-mail address | `false` | iMessage can register e-mail addresses too; the number isn't registered |
| Number reassigned by the carrier | `true` or `false` for the new owner | Always read with `checked_at` |
| Timeout or temporary problem | `null` (unknown) | Missing data; free |

Treat the answer as a dated observation, not a fact about the person. Refresh monthly and don't use a single answer for anything with consequences for the customer.

## How do I run the iMessage check with the API?

Create a bulk job. With a test key, test jobs finish at once, and the [test numbers](/docs/test-mode) return every state. A job can combine iMessage with RCS and WhatsApp:

```bash
curl https://api.mobilevalidate.com/v1/jobs \
  -H "Authorization: Bearer $MOBILEVALIDATE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: imessage-guide-001" \
  -d '{"numbers": ["+447700900001", "+447700900002", "+447700900003", "+447700900005"],
       "checks": ["imessage", "rcs", "whatsapp"]}'
# then: GET /v1/jobs/{id}?wait=30 and GET /v1/jobs/{id}/results
```

The real test-mode job reported `"progress": {"total": 4, "checks_total": 12, "done": 12, "conclusive": 6, "non_billable": 12}`. The `imessage.registered` answers per row:

```json
{"e164": "+447700900001", "status": "completed",           "registered": true,  "reason": null}
{"e164": "+447700900002", "status": "completed",           "registered": false, "reason": null}
{"e164": "+447700900003", "status": "unknown",             "registered": null,  "reason": "UPSTREAM_TIMEOUT"}
{"e164": "+447700900005", "status": "unsupported_country", "registered": null,  "reason": "UNSUPPORTED_COUNTRY"}
```

In live mode iMessage accepts numbers from every country; `…005` is the test number that simulates `unsupported_country`. Only conclusive answers are billed, at the bulk price shown on the [pricing page](/pricing). You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate). Test keys never bill.

## How should I act on each answer?

Use the answer for planning and formats, with SMS or your default channel always available:

| Answer | Message design | Channel planning | Stored record |
|---|---|---|---|
| `imessage: true` | Preview links and media on iPhone; keep text readable as SMS | Consider an Apple Messages entry point on your site | `true` + `checked_at` |
| `imessage: false`, `rcs: true` | Design for RCS on Android or iPhone | Candidate for RCS with SMS fallback | Both answers + dates |
| `imessage: false`, `rcs: false` | Plain SMS | SMS or a consented app channel | Both answers + dates |
| `null` (unknown) | Default format | Keep previous plan | Don't overwrite a stored answer |

At aggregate level, the share of `true` answers in your consented base tells you how much of your audience is on iPhone in each country. That's useful for deciding whether to invest in Apple Messages for Business, or in RCS templates tested on both platforms. The [channel-by-country guide](/blog/choosing-a-messaging-channel-by-country) shows how to compute rates per country from a job download.

## What are the responsible-use rules?

Device platform is personal information. This is general guidance, not legal advice, so consult counsel about your own situation. Keep to four rules:

1. **Check only numbers people gave you**, such as customers and sign-ups, for channel and format planning. Under the [GDPR](https://eur-lex.europa.eu/eli/reg/2016/679/oj) you need a lawful basis (Article 6) and should keep only what you need (Article 5(1)(c)).
2. **Don't infer anything else.** Owning an iPhone isn't a proxy for income, age or any personal trait. Our [acceptable use policy](/legal/acceptable-use) forbids profiling and inferring sensitive characteristics.
3. **Don't treat it as permission.** The answer never replaces consent for any channel.
4. **No range scans.** Requests with 20 or more consecutive numbers are refused with `403 suspected_enumeration`.

People can object through our [opt-out form](/opt-out). iMessage and Apple are named descriptively; MobileValidate is not affiliated with Apple.

## What are the key takeaways?

- An iMessage check tells you whether a number is **registered for iMessage on an Apple device**: registered, not registered or unknown, with `checked_at`.
- It runs in **bulk jobs only**. The real-time endpoint answers `403 service_disabled`.
- Blue bubbles mean iMessage; green means RCS or SMS/MMS. iPhone has supported RCS since iOS 18 (2024), where carriers support it.
- Businesses **can't send iMessages to phone numbers**. Apple Messages for Business is customer-initiated and hides the number.
- Registration can outlast a move to Android, so read every answer with its date and refresh regularly.
- Use it for format and channel planning over consented customers. See the [iMessage check](/services/imessage-number-check) for details and the [messaging-app checks guide](/blog/messaging-app-registration-checks-guide) for every other app.

## Sources

1. [What is the difference between iMessage, RCS, and SMS/MMS?](https://support.apple.com/en-us/104972) — Apple, 2026
2. [Deregister and Turn Off iMessage](https://selfsolve.apple.com/deregister-imessage/) — Apple, 2026
3. [iOS 18 is available today, making iPhone more personal and capable than ever](https://www.apple.com/newsroom/2024/09/ios-18-is-available-today-making-iphone-more-personal-and-capable-than-ever/) — Apple, 2024
4. [Apple Messages for Business](https://register.apple.com/resources/messages/messaging-documentation/) — Apple, 2026
5. [Apple Messages for Business Frequently Asked Questions](https://register.apple.com/resources/messages/messaging-documentation/faq) — Apple, 2026
6. [General Data Protection Regulation (EU) 2016/679](https://eur-lex.europa.eu/eli/reg/2016/679/oj) — European Union, 2016

## Frequently asked questions

### Can I check iMessage registration in real time?

No. The iMessage check runs in bulk jobs (POST /v1/jobs) only. POST /v1/lookup refuses it with 403 service_disabled. Run it ahead of time over your opted-in customers and store the answers.

### What do blue and green bubbles mean?

On an iPhone, messages sent with iMessage appear in blue bubbles. RCS and SMS/MMS messages appear in green bubbles. Green therefore means the conversation isn't using iMessage, not that the other phone is broken.

### Can my business send iMessages to customers' phone numbers?

No. Apple Messages for Business conversations are started by the customer through entry points such as a website button or Apple Maps, and the business doesn't see the phone number unless the customer shares it.

### Why is a number that moved to Android still registered?

iMessage registration can outlast a switch to another phone until the number is turned off or deregistered. Apple provides a deregistration page for exactly this situation.

### Is the person notified when their number is checked?

No. Nothing is sent to the number, and no name, Apple Account or device detail is returned. The answer is registered, not registered or unknown.
