Docs
The Inbox Placement Tester API lets you create, monitor, and manage inbox placement tests from your application. A test provides seed email addresses across mailbox providers so you can send a campaign and see whether it lands in the inbox or spam folder.
Use the API to automate test creation, retrieve placement results, and receive a webhook when a test is complete.
All endpoints below use the following base path:
Authenticate every request with your ZeroBounce API key:
You may also send the key as either api_key or apiKey in the query string.
GET /api/ipt/providers.POST /api/ipt/test.GET /api/ipt/test/{id}, or configure a webhook and wait for the completed result.Inbox Placement Tester API calls use the same inbox-test credits as the ZeroBounce dashboard. Creating a test fails when your account has no available tests.
emailAddressList. The list includes testid+{identifier}@zbtest.org.senderEmail requiredFrom header.3 (Auto Alias) is the default test type.
POST /api/ipt/test
Create an inbox placement testⓘ and receive the seed addresses you need to use for your campaign.
name- / \\ , . & ' ( ). The name must be unique among running and finished tests.testType3 (Auto Alias).senderEmailtestType is 1.providerIdsseedIdsprovidersid and maxSeeds; maxSeeds must be at least 1.webhookUrlIf you do not provide providerIds, seedIds, or providers, the test uses all active seeds. Each test must include at least one non-gateway seed; Mimecast and Proofpoint gateway seeds alone are not sufficient.
Create a default Auto Alias test:
Create a test that uses Gmail seeds only:
Create an Email test matched by the From address:
The API returns 201 Created.
Send your campaign using the method for the returned test type. For Auto Alias tests, send to every address in emailAddressList.
GET /api/ipt/providers
Retrieve the seed providers available for new tests. Use the IDs from emailProviders.items and gatewayProviders.items in providerIds or providers when creating a test.
Each provider item includes:
idnamelocationseedCountseedIdsGET /api/ipt/test-types
Retrieve the supported test types and the default test type. The default is 3 (Auto Alias).
GET /api/ipt/test/{id}
Retrieve the current status and placement results for a test. This endpoint does not accept a request body.
The response includes the test status, counts, percentages, results, and per-seed details in seeds.
statusrunning or finishedinboxCountspamCountpendingCountpercentagesresultsseedsUse this endpoint to poll a running test until status is finished.
GET /api/ipt/tests
List Inbox Placement Tester tests for the authenticated API key.
statusrunning or finished.createdAftercreatedBeforepage1.page_size25; maximum 100.DELETE /api/ipt/test/{id}
Delete a completed test. Only finished tests can be deleted; attempting to delete a running test returns 400 Bad Request.
When a test created via the public IPT API finishes, we POST the results to a URL you set. One URL per API key. Sent once (retries on network/HTTP errors).
Default for the key:
PUT /api/ipt/webhook
GET /api/ipt/webhook returns the current URL (or "").
On create:
webhookUrl on POST /api/ipt/test. Used for that test and saved as the key's default.POST JSON, same body as GET /api/ipt/test/{id}:
id, testName, testType, identifier, status (finished)counts: inboxCount, spamCount, otherCount, notDeliveredCount, pendingCount, percentagesresults and per-seed seedsYour endpoint should accept application/json and return 2xx.
Replace YOUR_API_HOST with the applicable ZeroBounce API host and YOUR_API_KEY with an API key from your ZeroBounce account.