The RCS Number Checker API is a bulk, asynchronous, file-based API used to verify whether phone numbers have RCS enabled. Upload an input file, poll the returned task ID, then download the exported results. This repository contains runnable examples in Python, Node.js, Go, Java, C#, PHP, browser JavaScript, and Shell.
- Base URL:
https://api.checknumber.ai - Auth:
X-API-Keyrequest header - Full API docs: https://docs.checknumber.ai/rcs-checker
- Get an API key: https://platform.checknumber.ai
Note
This is a bulk, file-based, asynchronous API. It does not perform a single real-time lookup in one request/response cycle.
- How do I check if a phone number supports RCS via API?
- How do I process RCS checks in bulk?
- What request parameters does the API take?
- What does the task response look like?
- What does the RCS number checker API cost?
- RCS number checker API vs alternatives
- Code examples
- Status codes
- FAQ
- Support & legal
Send a POST request to https://api.checknumber.ai/v1/tasks with the API key, numbers.txt, and task_type=rcs. The response contains a task_id used to retrieve task status and the final result_url.
curl --location 'https://api.checknumber.ai/v1/tasks' \
--header 'X-API-Key: YOUR_API_KEY' \
--form 'file=@"./numbers.txt"' \
--form 'task_type="rcs"'Each line in numbers.txt is one phone number in E.164 format, such as +14155552671.
- Submit the input file to
POST /v1/tasks. - Poll
POST /v1/gettaskswith the returnedtask_idwhile status moves frompendingtoprocessing. - Download the file at
result_urlwhen status becomesexported.
curl --location 'https://api.checknumber.ai/v1/gettasks' \
--header 'X-API-Key: YOUR_API_KEY' \
--form 'task_id="YOUR_TASK_ID"'See examples/ for complete submit → poll → download implementations.
Submit task — POST /v1/tasks
| Parameter | Type | Description |
|---|---|---|
file |
file | Text file containing one E.164 phone number per line for the main task type. Email variants use emails.txt. |
task_type |
string | One of: rcs. |
Check status — POST /v1/gettasks
| Parameter | Type | Description |
|---|---|---|
task_id |
string | Task ID returned by task creation. |
Main task result fields — task_type=rcs
| Field | Description | Example |
|---|---|---|
Number |
Phone number in E.164 format | +12025551234 |
rcs |
Whether number has RCS enabled | yes, no |
{
"created_at": "2026-07-13T08:24:56Z",
"updated_at": "2026-07-13T08:25:43Z",
"task_id": "example-task-id",
"user_id": "example-user-id",
"status": "exported",
"total": 1000,
"success": 998,
"failure": 2,
"result_url": "https://example.invalid/results.xlsx"
}All variants use this task envelope. Only task_type, input content, and exported result columns vary.
Rates vary by task type and are billed against the account balance. See the current terms at https://checknumber.ai/pricing and query the remaining balance with GET https://api.checknumber.ai/v1/balance.
| Capability | CheckNumber API | Generic carrier lookup | Manual checking |
|---|---|---|---|
| Checks the documented RCS signal | Yes | No | May be possible |
| Bulk file upload | Yes | Varies | No |
| Asynchronous processing | Yes | Varies | No |
| Downloadable structured results | Yes | Varies | No |
This compares general approaches, not named vendors. Capabilities vary by provider and account access.
| Language | Example |
|---|---|
| Python | examples/python |
| Node.js | examples/nodejs |
| Go | examples/go |
| Java | examples/java |
| C# | examples/csharp |
| PHP | examples/php |
| JavaScript (browser) | examples/javascript |
| Shell (curl) | examples/shell |
Set the API key before running a server-side example:
export CHECKNUMBER_API_KEY="YOUR_API_KEY"| Status | Billing | Description |
|---|---|---|
200 |
charge |
Request successful; task created or status retrieved. |
400 |
free |
Invalid parameters or file format. |
500 |
free |
Internal server error; retry later. |
Is this a single-number real-time lookup?
No. Submit a file, poll for completion, and download the result file.
Which task types are available in this repository?
task_type=rcs— RCS Number Checker; Checks whether RCS is enabled for each phone number. Input: numbers.txt.
Which input format should I use?
Phone-based checks require one E.164 number per line. Email variants require one email address per line.
How do I check my balance?
Call GET https://api.checknumber.ai/v1/balance with the X-API-Key header.
- Documentation: https://docs.checknumber.ai/rcs-checker
- Dashboard and API keys: https://platform.checknumber.ai
- License: MIT for the sample code
Process only data you are authorized to use and comply with applicable privacy laws and platform terms. CheckNumber is not affiliated with or endorsed by RCS.
Last updated: 2026-07-13 · Maintained by CheckNumber. Canonical docs: https://docs.checknumber.ai/rcs-checker