Quickstart
Five minutes from signup to a passing wait-for-message request. Keep the API key in a secret manager; it is shown only once. The free tier is 11 active inboxes and 33 inbound emails per UTC month — enough for one flow on a laptop. Quota detail is on InboxRhino pricing.
1. Create an account and API key
Sign in to the InboxRhino console with Google or email, open API keys, and create a named key. Copy the secret immediately.
2. Create an inbox
POST creates a real address on test.inboxrhino.in and the Cloudflare receiving rule. Omit prefix to get a generated name.
curl --request POST https://api.inboxrhino.in/v1/inboxes \
--header "Authorization: Bearer $INBOXRHINO_API_KEY" \
--header "Content-Type: application/json" \
--header "Idempotency-Key: signup-test-1" \
--data '{"prefix":"signup-test"}'3. Send mail, then wait
Point the application under test at the returned address. The list route waits up to 180 seconds. A match returns 200; a timeout returns 204.
curl --get https://api.inboxrhino.in/v1/inboxes/INBOX_ID/messages \
--header "Authorization: Bearer $INBOXRHINO_API_KEY" \
--data-urlencode "wait_seconds=180" \
--data-urlencode "limit=1" \
--data-urlencode "include=content" \
--data-urlencode "subject=Verify"4. Delete the inbox
Deleting an inbox frees active-inbox quota immediately. Message deletion does not restore monthly email quota. Full request and error detail, plus a free Postman collection, is on the API reference. For a test runner example, see Playwright email testing.
curl --request DELETE https://api.inboxrhino.in/v1/inboxes/INBOX_ID \
--header "Authorization: Bearer $INBOXRHINO_API_KEY"If the wait returns 204
HTTP 204 means the poll timed out with no match. Check the address you sent to, loosen or correct the subject/sender filter, and confirm the application actually sent mail. Do not call response.json() on 204. Status codes and filters are documented in the messages API.