Inbox Placement Testby Live Direct Marketing
Sign in

Connect to Inbox Check

Start with a connection check. Then create a test, send your own email and open its report.

Your connection key

Sign in with an email link. Your first confirmed sign-in creates your account and key automatically in Account.

Create an accountSign inOpen Account

Basic: by default 100 checks per day and 1,000 per month, without screenshots. Account and me_get show exact limits and usage. Request the free 500/5,000 package in Account; it starts after approval.

New keys can be shown and copied again after sign-in. Older keys still work but cannot be recovered: create a replacement, update your integration, then revoke the old key. Keep your key private.

1. Check the connection

Replace YOUR_API_KEY with your key. GET /api/v1/me shows this key’s limits and remaining checks. It does not consume a check.

curl https://check.live-direct-marketing.online/api/v1/me \
  -H "Authorization: Bearer YOUR_API_KEY"

2. Create a test

One successfully created test uses one check. Choose providers available to your key with GET /api/v1/providers.

curl -X POST https://check.live-direct-marketing.online/api/v1/tests \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"providers":["gmail","outlook"],"recipient_email":"you@example.com"}'

3. Send your own email

The response contains send_to addresses and results_url. Send your email from your own mailing service to ALL returned addresses. Creating a test does not send an email for you.

4. Open the report

Open results_url, or read GET /api/v1/tests/:token. Reading results does not consume a check. Delivery times vary; a missing message is not evidence of successful delivery.

Limits and history

Basic starts at 100 checks per day and 1,000 per month. Exact limits can differ: use /api/v1/me for the current key and Account for all your keys. Available checks are the smaller of the daily and monthly remaining amounts.

Periods reset at 00:00 UTC each day and on the first day of the month. The account shows resets in your local time. API requests and failed requests are counted separately from checks.

Account history keeps request details for 30 days with filters and 20/50-row pages. Coverage begins at the date shown there; earlier records may be incomplete. Request bodies, cookies and secrets are not included.

Request a larger free package

Use Request free package in Account. After approval, the selected key’s limits become 500 per day and 5,000 per month. This replaces its limits; it does not add checks or clear usage. Until approval, current limits remain. The decision arrives by email.

A user-bound key with account:read can read its own requests at GET /api/v1/account/promo-requests. Read access does not allow creating or approving requests; use the signed-in account to request a package.

If a request fails

401: check the Bearer key. 403: check its permissions. quota_exceeded: check both remaining limits. 429: follow Retry-After. Server errors: retry later. Keep requestId when contacting support, but never send your key.

Complete API reference and integrations

OpenAPI · MCP · A2A

New default keys include scoped permissions for your own monitoring, without admin access. Existing key permissions stay unchanged. Restricted keys remain an explicit option in Account settings.

Advanced reference: endpoints, tiers and code

Use OpenAPI for complete request and response schemas. All authenticated calls use Authorization: Bearer YOUR_API_KEY. Monitoring mutations require monitoring:write; reads require monitoring:read and a user-bound key.

GET /api/v1/me
Key metadata, features, allowed providers, quota and UTC reset times.
GET /api/v1/providers
Providers available to this key.
POST /api/v1/tests
Create a test. The 202 response contains token, send_to and results_url.
GET /api/v1/tests
List your tests with cursor and limit pagination.
GET /api/v1/tests/:token
Read placements, authentication, diagnostics and available screenshot URLs.
DELETE /api/v1/tests/:token
Permanently delete your test, results and screenshots.
GET /api/v1/monitoring/domains
List your monitored domains, shared with the website and Telegram.
POST /api/v1/monitoring/domains
Add your domain: {"domain":"example.com"}.
POST /api/v1/monitoring/domains/:id/pause
Pause your domain monitoring.
POST /api/v1/monitoring/domains/:id/resume
Resume your domain monitoring.
DELETE /api/v1/monitoring/domains/:id
Remove your monitored domain.
GET /api/v1/account/promo-requests
Read your own free-package requests with account:read.

Default tiers

Operators can override individual keys. Always use the API values for the actual limits.

TierPer dayPer monthScreenshots
basic1001,000—
pro50010,000Included
enterprise5,000100,000Included

Node / Python

No separate SDK is required. Keep the key in a secret environment variable, never in source control.

Node (fetch)

const response = await fetch('https://check.live-direct-marketing.online/api/v1/me', {
  headers: { Authorization: 'Bearer ' + process.env.ICP_KEY }
});
if (!response.ok) throw new Error('HTTP ' + response.status);
console.log(await response.json());

Python (requests)

import os, requests
response = requests.get(
    'https://check.live-direct-marketing.online/api/v1/me',
    headers={'Authorization': 'Bearer ' + os.environ['ICP_KEY']},
    timeout=30,
)
response.raise_for_status()
print(response.json())

Compatibility

Existing v1 test CRUD, provider allowlists, screenshot features and per-key quotas remain supported. Account sign-in, recoverable new keys, request history and free-package requests extend this API without changing existing keys.