API Documentation
Integrate GearSMS API to automate OTP verification with real SIM-based non-VoIP numbers. Ideal for developers and businesses needing fast, secure, and scalable SMS verification
https://app.gearsms.com/api/v1
Authentication
Authorize your requests by including your secret API key in the X-API-Key
request header. All requests must be made over HTTPS.
Value: Your-Secret-API-Key
Example:
X-API-Key: gs_live_abcdef1234567890
Check Balance
Retrieve the current balance of your GearSMS account.
Authentication: Your-Secret-API-Key
Webhooks
Webhooks allow you to receive real-time HTTP POST notifications when an SMS code is received.
Delivery Behavior
Our system attempts to deliver the webhook notification immediately after an SMS is received.
- Method: POST (JSON payload)
- Timeout: 5 seconds
- Retries: None (single delivery attempt)
- User-Agent:
GearSMS-Webhook/1.0
Payload Description
| Field | Type | Description |
|---|---|---|
| event | String | The event type (currently sms_received) |
| orderId | String | The unique identifier for the order |
| number | String | The phone number that received the SMS |
| service | String | The name of the service (e.g., Google, WhatsApp) |
| sms | String | The full content of the received SMS message |
| pin | String | The extracted verification code/pin from the message |
| source | String | The service tier source (S1, S2, GLOBAL, or LTR) |
| timestamp | String | ISO 8601 timestamp of the event |
Example: sms_received event
Temp Numbers S1
S1 offers high-quality US-based numbers from major carriers, ideal for services with strict verification requirements. You can also filter numbers by US state for localized verification.
1. Get States
Retrieve a list of available US states and their 2-letter codes for selection during number request.
Authentication: Your-Secret-API-Key
2. Get Services
List all available services for S1 with your user-specific pricing applied.
Authentication: Your-Secret-API-Key
3. Request Number
Purchase a temporary number. You can optionally specify a state code from the
States endpoint.
Authentication: Your-Secret-API-Key
Request Body (JSON Example): { "service": "Google", "state": "TX" }
Request Body Properties
| Property | Type | Required | Description |
|---|---|---|---|
| service | string |
Yes | The name of the service (e.g., "Google", "Tinder"). |
| state | string |
No | 2-letter US state code from the States endpoint. |
4. Check SMS Status
Poll this endpoint to receive the SMS for an active S1 order.
Authentication: Your-Secret-API-Key
5. Get Number Details
Retrieve the current status and number information for an active S1 order.
Authentication: Your-Secret-API-Key
Request Params Properties
| Property | Type | Required | Description |
|---|---|---|---|
| orderId | string |
Yes | The unique ID of your active S1 order. |
6. Reject Number
Reject a number if it is not receiving SMS. This will cancel the order and issue an immediate refund.
Authentication: Your-Secret-API-Key
Request Params Properties
| Property | Type | Required | Description |
|---|---|---|---|
| orderId | string |
Yes | The unique ID of the order to cancel/reject. |
Temp Numbers S2
The S2 pool provides specialized US numbers with support for area code selection. This service is optimized for high-volume automated verifications and supports dynamic reservation windows.
1. Reservation Windows
Reservation windows for S2 services vary by provider and service (e.g., 5, 10, or 15+
minutes). It is critical to monitor the expiresAt field in the API response for
the precise expiration timestamp.
expiresAt value returned when you request a
number.
2. Service Specific Rules
Important Operational Notes:
- Non-rejection Services: The following services do not allow manual rejection. A refund is automatically issued only after the number's timer expires: Cash App, Citibank, Go2Bank, GoBank, Green Dot, One Finance, Snapchat, Survey Junkie, Walmart Family Mobile, Walmart Money Card, Wells Fargo, WhatsApp.
- Non-reported Services: The following services do not allow manual reporting. You must wait for the number's timer to expire for an automatic refund: Cash App, Citibank, Go2Bank, GoBank, Green Dot, One Finance, Snapchat, Survey Junkie, Walmart Family Mobile, Walmart Money Card, WhatsApp.
- Always Charged: You will be charged for the following services whether a code is received or not: Wells Fargo.
3. Get Services
Retrieve a list of all available services in the S2 pool with your specific pricing.
Authentication: Your-Secret-API-Key
4. List Area Codes
Retrieve a list of available 3-digit US area codes for S2 numbers. You can use these codes in
the areacode parameter when requesting a number.
Authentication: Your-Secret-API-Key
5. Request Number
Order a new temporary number from the S2 pool. You can specify an area code and a preferred carrier (e.g., T-Mobile, Verizon, AT&T).
Authentication: Your-Secret-API-Key
Request Body Example:
{ "service": "Google", "areacode": "212", "carrier": "vz" }
Request Body Properties
| Property | Type | Required | Description |
|---|---|---|---|
| service | string |
Yes | The name of the service (e.g., "Google", "WhatsApp"). |
| areacode | string |
No | Optional 3-digit US area code. (+65% markup) |
| carrier | string |
No | Optional carrier (tmo, vz,
att). (+25%
markup)
|
6. Check SMS Status
Check for incoming SMS messages for an active S2 order. This is the primary way to receive your verification code.
Authentication: Your-Secret-API-Key
Request Params Properties
| Property | Type | Required | Description |
|---|---|---|---|
| orderId | string |
Yes | The unique ID of your active S2 order. |
7. Reject Number
Cancel an active order if you haven't received a code yet. Note that some services are non-refundable.
Authentication: Your-Secret-API-Key
Request Params Properties
| Property | Type | Required | Description |
|---|---|---|---|
| orderId | string |
Yes | The unique ID of the order to cancel/reject. |
8. Reactivate / Reuse Number
If you need another code for the same service on a previously used number, you can attempt to reactivate it. Success depends on the number still being available in the pool.
Authentication: Your-Secret-API-Key
Request Params Properties
| Property | Type | Required | Description |
|---|---|---|---|
| orderId | string |
Yes | The unique ID of the original S2 order you wish to reactivate. |
9. Report Number
Report a number if it is not receiving SMS or if the code provided is invalid. Note that some services do not allow manual reporting.
Authentication: Your-Secret-API-Key
Request Params Properties
| Property | Type | Required | Description |
|---|---|---|---|
| orderId | string |
Yes | The unique ID of the order to report. |
Temp Numbers Global
The Global pool offers SMS verification numbers from over 100 countries worldwide. Ideal for international services and localized testing.
1. Get Countries
Retrieve a list of supported countries and their corresponding IDs for the Global pool.
Authentication: Your-Secret-API-Key
2. List Services
Get a list of available services and their current pricing for a specific country.
Authentication: Your-Secret-API-Key
Query: ?country=1 (Use Country ID from Section 1)
3. Check Stock
Verify real-time stock availability for a specific service and country.
Authentication: Your-Secret-API-Key
Query: ?country=1&service=Google
4. List Area Codes
Retrieve available 3-digit phone area codes for a country and service.
Authentication: Your-Secret-API-Key
Query: ?country=1&service=Google
5. Request Number
Order a temporary number from a specific country for your chosen service. Optional parameters available for area code targeting.
Authentication: Your-Secret-API-Key
Body (JSON): { "service": "Google", "country": 1, "areacode": "212" }
Global orders provide an expiresAt timestamp. Always use this
ISO string for your countdown as timers may vary by country/provider.
Note: Some numbers may return a status of
activating immediately after purchase. This indicates the provider
is preparing the line. Please continue polling the check-status
endpoint until the status becomes pending or
completed.
6. Check SMS Status
Poll this endpoint to receive the SMS for an active Global order.
Authentication: Your-Secret-API-Key
7. Reject Number
Cancel an active Global order and receive a refund if no SMS has been received.
Authentication: Your-Secret-API-Key
8. Reuse Number
Request another SMS code for an existing Global order. This will create a new order record for the same number.
Authentication: Your-Secret-API-Key
Long-term Numbers
Rent dedicated numbers for extended periods (3, 7, 14, or 30 days) to receive multiple SMS codes for the same service over time.
1. List Rental Services
Retrieve a list of services available for long-term rental with their starting prices.
Authentication: Your-Secret-API-Key
2. Get Available Durations
Retrieve a list of supported rental durations. These codes should be used for the
duration parameter in pricing and ordering.
Authentication: Your-Secret-API-Key
3. Get Area Codes
Retrieve a list of available 3-digit US area codes for long-term rentals. You can use these
in the areaCode parameter when checking price or ordering.
Authentication: Your-Secret-API-Key
4. Check Rental Pricing
Get the exact price for a rental based on service, duration, and optional area code.
Authentication: Your-Secret-API-Key
Query: ?serviceCode=Google&duration=30days&areaCode=212
Parameters
| Property | Type | Required | Description |
|---|---|---|---|
| serviceCode | string |
Yes | Service identifier (e.g., Google). |
| duration | string |
Yes | Available: 3days, 7days,
14days, 30days.
|
| areaCode | string |
No | 3-digit US area code. (Optional, **$2.50 fee applies**) |
5. Request Rental Number
Purchase a dedicated long-term rental number. This will deduct the balance immediately.
Authentication: Your-Secret-API-Key
Body (JSON):
{ "service": "Google", "duration": "30days", "areaCode": "212" }
6. Check SMS Messages
Fetch all SMS messages received by your active rental number.
Authentication: Your-Secret-API-Key