Primary key
Used by the desktop client and remains compatible with standard authentication.
Loading...
Account overview, usage and subscription details
Choose a plan and its billing period
A payment address will be generated for the selected network.
Recent invoices and their current status
| Date | Plan | Amount | Network | Status |
|---|
Manage the primary token and separate keys for parallel integrations. Every additional key can run only one active queue.
Used by the desktop client and remains compatible with standard authentication.
Loading...
Copy it now. The full value will not be displayed again after this panel is closed.
Create a separate key for a script, service, or another workstation.
Connect internal tools, scripts and services to History Checker through the protected gateway. An API key first creates a session; that session can then create checks and read job status.
https://drophistory.com/client-api.php
Send the primary or an additional API key and retain the session cookie.
Submit a domain list in one request. The API allocates worker threads automatically from the account plan.
Poll the job by ID. Each additional key can own only one active queue.
?route=auth.loginCreate a protected session with an API key.
?route=auth.meValidate the session and read account data.
?route=admin.job.createCreate a job from a domain list.
?route=admin.job.show&id=JOB_IDRead progress, items and completed results.
?route=client.licenseRead the current plan, limits and license period.
curl -c hc-cookie.txt \
-H "Content-Type: application/json" \
-d '{"password":"YOUR_API_KEY"}' \
"https://drophistory.com/client-api.php?route=auth.login"
curl -b hc-cookie.txt \
-H "Content-Type: application/json" \
-d '{"domains":"example.com\nexpired-domain.net","mode":"spam_history"}' \
"https://drophistory.com/client-api.php?route=admin.job.create"
{
"id": "8d4c5b20-2d72-4d75-a43b-1a60e8a4f021",
"mode": "spam_history",
"status": "queued",
"queue_name": "job_8d4c5b20-2d72-4d75-a43b-1a60e8a4f021",
"created_at": "2026-07-18 14:32:10"
}
Store the id field. It is required to retrieve progress and results.
curl -b hc-cookie.txt \
"https://drophistory.com/client-api.php?route=admin.job.show&id=8d4c5b20-2d72-4d75-a43b-1a60e8a4f021"
Poll until job.status becomes completed: every 20 seconds for up to 200 domains, 30 seconds for up to 1,000, 60 seconds for up to 5,000, and 120 seconds for larger queues.
{
"job": {
"id": "8d4c5b20-2d72-4d75-a43b-1a60e8a4f021",
"status": "running"
},
"summary": {
"items": 2,
"queued": 0,
"running": 1,
"completed": 1,
"failed": 0,
"spam_found": 0
},
"items": [
{
"domain": "example.com",
"status": "completed",
"progress_percent": 100,
"verdict": "clean",
"spam_score": 0,
"snapshot_count": 24,
"found_forbidden_word": ""
},
{
"domain": "expired-domain.net",
"status": "running",
"progress_percent": 45,
"verdict": null
}
]
}
import time
import requests
api = "https://drophistory.com/client-api.php"
session = requests.Session()
session.post(api, params={"route": "auth.login"},
json={"password": "YOUR_API_KEY"}).raise_for_status()
job = session.post(api, params={"route": "admin.job.create"}, json={
"domains": "example.com\nexpired-domain.net",
"mode": "spam_history"
}).json()
while True:
report = session.get(api, params={
"route": "admin.job.show", "id": job["id"]
}).json()
print(report["summary"])
if report["job"]["status"] in ("completed", "failed", "cancelled"):
break
domains = report["summary"]["items"]
poll_seconds = 20 if domains <= 200 else 30 if domains <= 1000 else 60 if domains <= 5000 else 120
time.sleep(poll_seconds)
for item in report["items"]:
print(item["domain"], item["verdict"], item["spam_score"])
Update the name or email used for sign-in and service notifications.
A service-account JSON lets the desktop client read domains and batch-write completed results to Google Sheets.
API keys are managed separately. Signing out closes the current browser session.
We review every submitted case individually. Add the domain or a direct link to the problematic Web Archive snapshot and briefly explain which result is incorrect.
Loading requests...
This section is being prepared. You can return to the Dashboard or open Payments.