Appendix API
Service status
Availability, success rate, task time and queue depth per marketplace.
https://api.screamingdata.dev/v1/appendix/status- Authentication
- Optional
- Cost
- Free
- Body
- No request body
Overview
Returns the health of every marketplace over the last 24 hours: whether it is available, the success rate of product reads, the median time to complete a task and the current queue depth. Values are aggregated over all traffic and contain no data of other clients.
An API key is optional, so the public status page reads this endpoint directly. Values are null while there is not enough recent data.
Cost
Request
GET /v1/appendix/status.
This endpoint takes no parameters.
Request example
An API key is optional for this endpoint, so the examples omit it. Requests that send one are metered like any other call.
curl --request GET \
--url "https://api.screamingdata.dev/ v1/ appendix/ status"import requests
response = requests.get(
"https://api.screamingdata.dev/ v1/ appendix/ status",
timeout=30,
)
data = response.json()
print(data["status_code"], data["status_message"], "cost:", data["cost"])
for task in data["tasks"]:
print(task["id"], task["status_code"], task["status_message"])const response = await fetch("https://api.screamingdata.dev/ v1/ appendix/ status");
const data = await response.json();
console.log(data.status_code, data.status_message, "cost:", data.cost);
for (const task of data.tasks) {
console.log(task.id, task.status_code, task.status_message);
}Response
HTTP 200. The body is the standard response envelope; check status_code at the top level and in every task.
{
"version": "1.0.0",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0185 sec.",
"cost": 0,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "09241253-8f1b-4e5d-a2c7-4b9e0d3f6a18",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0097 sec.",
"cost": 0,
"result_count": 12,
"path": [
"v1",
"appendix",
"status"
],
"data": {
"api": "appendix",
"function": "status"
},
"result": [
{
"marketplace": "com",
"domain": "amazon.com",
"available": true,
"status": "operational",
"success_rate_24h": 0.993,
"fetches_24h": 1842,
"median_task_minutes_24h": 1.8,
"queue_depth": 42
},
{
"marketplace": "uk",
"domain": "amazon.co.uk",
"available": true,
"status": "operational",
"success_rate_24h": 0.989,
"fetches_24h": 1210,
"median_task_minutes_24h": 2.1,
"queue_depth": 17
},
{
"marketplace": "de",
"domain": "amazon.de",
"available": true,
"status": "operational",
"success_rate_24h": 0.991,
"fetches_24h": 964,
"median_task_minutes_24h": 2,
"queue_depth": 12
},
{
"marketplace": "fr",
"domain": "amazon.fr",
"available": true,
"status": "operational",
"success_rate_24h": 0.987,
"fetches_24h": 511,
"median_task_minutes_24h": 2.3,
"queue_depth": 6
},
{
"marketplace": "es",
"domain": "amazon.es",
"available": true,
"status": "operational",
"success_rate_24h": 0.985,
"fetches_24h": 402,
"median_task_minutes_24h": 2.2,
"queue_depth": 5
},
{
"marketplace": "it",
"domain": "amazon.it",
"available": true,
"status": "operational",
"success_rate_24h": 0.988,
"fetches_24h": 377,
"median_task_minutes_24h": 2.4,
"queue_depth": 4
},
{
"marketplace": "nl",
"domain": "amazon.nl",
"available": true,
"status": "operational",
"success_rate_24h": 0.979,
"fetches_24h": 96,
"median_task_minutes_24h": 2.6,
"queue_depth": 2
},
{
"marketplace": "ca",
"domain": "amazon.ca",
"available": true,
"status": "operational",
"success_rate_24h": 0.99,
"fetches_24h": 688,
"median_task_minutes_24h": 1.9,
"queue_depth": 9
},
{
"marketplace": "au",
"domain": "amazon.com.au",
"available": true,
"status": "operational",
"success_rate_24h": 0.982,
"fetches_24h": 254,
"median_task_minutes_24h": 2.8,
"queue_depth": 3
},
{
"marketplace": "jp",
"domain": "amazon.co.jp",
"available": true,
"status": "degraded",
"success_rate_24h": 0.861,
"fetches_24h": 318,
"median_task_minutes_24h": 3.4,
"queue_depth": 7
},
{
"marketplace": "mx",
"domain": "amazon.com.mx",
"available": null,
"status": "unknown",
"success_rate_24h": null,
"fetches_24h": 3,
"median_task_minutes_24h": null,
"queue_depth": 0
},
{
"marketplace": "in",
"domain": "amazon.in",
"available": false,
"status": "unavailable",
"success_rate_24h": 0.412,
"fetches_24h": 205,
"median_task_minutes_24h": 7.5,
"queue_depth": 31
}
]
}
]
}Result fields
Each element of tasks[].result is a marketplace status. Health of one marketplace over the last 24 hours. Aggregated over all traffic; contains no data of other clients. Values are null when there is not enough recent data.
marketplaceMarketplace code.
domainAmazon domain.
availableWhether product pages of this marketplace are being read successfully; null when there is not enough recent data.
statusoperational (success rate at least 90%), degraded (at least 50%), unavailable or unknown.
success_rate_24hShare of successful product reads in the last 24 hours, from 0 to 1.
fetches_24hNumber of product page reads in the last 24 hours.
median_task_minutes_24hMedian time from task_post to completion in the last 24 hours, in minutes.
queue_depthCollection jobs currently waiting for this marketplace.
Status codes
Codes this endpoint can return, at the request or task level. See Status codes for handling advice.
| Code | Message | HTTP | Level | When |
|---|---|---|---|---|
| 20000 | Ok. | 200 | Request / task | The request, or the individual task, was processed successfully. |
| 40100 | Authentication failed. | 401 | Request | The Authorization header is missing or malformed, or the login and API key do not match. |
| 40101 | API key revoked. | 401 | Request | The API key was revoked. Use another active key or create a new one. |
| 40102 | Account disabled. | 401 | Request | The account is disabled. Contact support. |
| 40202 | Rate limit exceeded. | 429 | Request | Too many requests or tasks per minute for this account, or too many access requests from one IP address. The Retry-After header says how many seconds to wait. |
| 50000 | Internal error. | 500 | Request | Unexpected server error. The request can be retried; contact support if it persists. |