Get an order
Retrieve an allocated number, its current status and all received messages.
01 / Request
Make a request
/api/v1/orders/{id}Poll every 10 seconds while the order is active. Background checks continue even if your application disconnects.
GET reads the saved order. Use Refresh an order if you need to request a provider check; provider checks are throttled.
Read the sms array to detect delivery. Stop polling terminal states, and send purchase_unknown orders for review rather than creating replacements.
Required headers
AuthorizationstringRequired- Bearer followed by your ScrapingBuddy customer API key. Keep it on your server.
Path parameters
idUUIDRequired- Your saved order ID. Replace {id} in the URL. You can only access orders belonging to your account.
02 / Response
Understand the response
Success returns HTTP 200 with JSON. Always inspect order.status before using the number or taking another action.
order.idUUID- Save this identifier to retrieve, refresh, cancel or finish the order.
order.country / productstring- Country and service IDs used for this purchase.
order.operatorstring | null- Assigned operator; may be null while purchasing.
order.amount_centsinteger- Customer price in USD cents. 25 means $0.25. This field uses snake_case.
order.statusstring- Current lifecycle state. Read sms to detect a message; RECEIVED alone is not proof that a code arrived.
order.phonestring | null- Allocated phone number, including its country prefix. May be null while purchasing.
order.smsarray- Received messages. An empty array means no message has been recorded yet.
order.sms[].sender / text / code / datestring- Sender, complete message, extracted verification code and provider message date. A message may also contain an id.
order.expires_atdate-time | null- Order expiry reported by the provider. May be null while purchasing.
order.created_at / updated_atdate-time- When the order was created and last updated.
order.refunded_atdate-time | null- A timestamp confirms a recorded refund. Do not infer a refund from a local timer or status alone.
order.error_codestring | null- Failure or review details, when present. Include this and the order ID in a support ticket, never your API key.
Errors & next steps
Failures return an HTTP error status and a JSON error message. Correct validation and authentication errors before retrying. For 429, honor Retry-After; longer account limits may still apply.
All keys share the account limit of 60 API requests per minute. Purchase recovery must keep the original idempotency key and quote ID.