Guides

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.

By Published 7 min read

On this page

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, 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.

One phone number with three channel options; the messaging app where the number is registered is chosen.One phone number with three channel options; the messaging app where the number is registered is chosen.
Send on the channel where the number is registered.

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).

Bubble on an iPhoneServiceTypical reason
BlueiMessageBoth sides use Apple devices with iMessage on
GreenRCSOther side isn't on iMessage; both carriers support RCS (iOS 18 or later)
GreenSMS/MMSOther 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). 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:

QuestionCheckMode
Is this customer on an Apple device?imessagebulk 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 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).
  • 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).

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). Until the person turns iMessage off or deregisters the number, it can still appear as registered.

SituationWhat the check may sayHow to read it
Customer moved from iPhone to Android recentlytrueStale registration; re-check later
Customer uses iMessage only with an e-mail addressfalseiMessage can register e-mail addresses too; the number isn't registered
Number reassigned by the carriertrue or false for the new ownerAlways read with checked_at
Timeout or temporary problemnull (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 return every state. A job can combine iMessage with RCS and WhatsApp:

Shell
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. 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:

AnswerMessage designChannel planningStored record
imessage: truePreview links and media on iPhone; keep text readable as SMSConsider an Apple Messages entry point on your sitetrue + checked_at
imessage: false, rcs: trueDesign for RCS on Android or iPhoneCandidate for RCS with SMS fallbackBoth answers + dates
imessage: false, rcs: falsePlain SMSSMS or a consented app channelBoth answers + dates
null (unknown)Default formatKeep previous planDon'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 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 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 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. 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 for details and the messaging-app checks guide for every other app.

Sources

  1. What is the difference between iMessage, RCS, and SMS/MMS? — Apple, 2026
  2. Deregister and Turn Off iMessage — Apple, 2026
  3. iOS 18 is available today, making iPhone more personal and capable than ever — Apple, 2024
  4. Apple Messages for Business — Apple, 2026
  5. Apple Messages for Business Frequently Asked Questions — Apple, 2026
  6. General Data Protection Regulation (EU) 2016/679 — 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.

All articles

Know before you send.

Tell us about your use case. We review every request and set you up with test and live keys.