Appendix API
Service status
Status of every marketplace.
https://api.screamingdata.dev/v1/appendix/status- Authentication
- Optional
- Cost
- Free
- Body
- No request body
Overview
Returns the current status of every marketplace: whether it is available, and its status. 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. available is 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"
},
{
"marketplace": "uk",
"domain": "amazon.co.uk",
"available": true,
"status": "operational"
},
{
"marketplace": "de",
"domain": "amazon.de",
"available": true,
"status": "operational"
},
{
"marketplace": "fr",
"domain": "amazon.fr",
"available": true,
"status": "operational"
},
{
"marketplace": "es",
"domain": "amazon.es",
"available": true,
"status": "operational"
},
{
"marketplace": "it",
"domain": "amazon.it",
"available": true,
"status": "operational"
},
{
"marketplace": "nl",
"domain": "amazon.nl",
"available": true,
"status": "operational"
},
{
"marketplace": "ca",
"domain": "amazon.ca",
"available": true,
"status": "operational"
},
{
"marketplace": "au",
"domain": "amazon.com.au",
"available": true,
"status": "operational"
},
{
"marketplace": "jp",
"domain": "amazon.co.jp",
"available": true,
"status": "degraded"
},
{
"marketplace": "mx",
"domain": "amazon.com.mx",
"available": null,
"status": "unknown"
},
{
"marketplace": "in",
"domain": "amazon.in",
"available": false,
"status": "unavailable"
}
]
}
]
}Result fields
Each element of tasks[].result is a marketplace status. Current status of one marketplace. Aggregated over all traffic; contains no data of other clients. available is null when there is not enough recent data.
marketplaceMarketplace code.
domainAmazon domain.
availableWhether this marketplace is currently served normally; null when there is not enough recent data.
statusoperational, degraded, unavailable or unknown.
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. |