curl "https://api.alura.io/v1/workspace/shops" \
-H "Authorization: Bearer $ALURA_API_KEY"const res = await fetch('https://api.alura.io/v1/workspace/shops', {
headers: {
Authorization: `Bearer ${process.env.ALURA_API_KEY}`,
},
});
console.log(await res.json());import json
import os
import urllib.request
request = urllib.request.Request(
"https://api.alura.io/v1/workspace/shops",
headers={
"Authorization": f"Bearer {os.environ['ALURA_API_KEY']}",
},
)
with urllib.request.urlopen(request) as response:
print(json.load(response)){
"object": "list",
"data": [
{
"object": "workspace.shop",
"id": "22841907",
"name": "GiftMugStudio",
"url": "https://www.etsy.com/shop/GiftMugStudio",
"icon_url": null,
"currency": "USD",
"catalog": {
"active_listings": 134,
"digital_listings": 0
},
"reviews": {
"count": 3067,
"average": 4.92
},
"connection": {
"status": "ok",
"reconnect_url": null,
"capabilities": {
"delete_listings": "available",
"shipments": "unknown",
"buyer_address": "unknown"
}
},
"sync": {
"status": "succeeded",
"last_synced_at": "2026-10-08T07:00:00.000Z",
"next_allowed_at": "2026-10-08T08:00:00.000Z",
"latest_sync_id": "40107"
},
"as_of": "2026-10-08T06:00:00.000Z"
},
{
"object": "workspace.shop",
"id": "30577120",
"name": "ClayAndName",
"url": "https://www.etsy.com/shop/ClayAndName",
"icon_url": null,
"currency": "USD",
"catalog": {
"active_listings": 134,
"digital_listings": 0
},
"reviews": {
"count": 3067,
"average": 4.92
},
"connection": {
"status": "ok",
"reconnect_url": null,
"capabilities": {
"delete_listings": "available",
"shipments": "unknown",
"buyer_address": "unknown"
}
},
"sync": {
"status": "succeeded",
"last_synced_at": "2026-10-17T07:00:00.000Z",
"next_allowed_at": "2026-10-17T08:00:00.000Z",
"latest_sync_id": "40120"
},
"as_of": "2026-10-17T06:00:00.000Z"
},
{
"object": "workspace.shop",
"id": "48911633",
"name": "MugCo",
"url": "https://www.etsy.com/shop/MugCo",
"icon_url": null,
"currency": "USD",
"catalog": {
"active_listings": 134,
"digital_listings": 0
},
"reviews": {
"count": 3067,
"average": 4.92
},
"connection": {
"status": "reconnect_required",
"reconnect_url": "https://platform.alura.io/settings/workspace/etsy-shops",
"capabilities": {
"delete_listings": "restricted",
"shipments": "unknown",
"buyer_address": "unknown"
}
},
"sync": {
"status": "failed",
"last_synced_at": "2026-10-16T06:00:00.000Z",
"next_allowed_at": "2026-10-16T08:00:00.000Z",
"latest_sync_id": "40133"
},
"as_of": "2026-10-16T06:00:00.000Z"
}
],
"has_more": false,
"next_cursor": null,
"total": {
"value": 3,
"relation": "eq"
},
"summary": {
"as_of": "2026-10-08T06:00:00.000Z",
"freshness": [
{
"shop_id": "22841907",
"as_of": "2026-10-08T06:00:00.000Z"
},
{
"shop_id": "30577120",
"as_of": "2026-10-17T06:00:00.000Z"
},
{
"shop_id": "48911633",
"as_of": "2026-10-16T06:00:00.000Z"
}
],
"notices": [
{
"code": "stale_shops",
"shop_ids": [
"22841907"
],
"detail": "These shops have no data, or no data newer than 7 days, for this area. Start a sync to refresh them."
},
{
"code": "sales_not_covered",
"shop_ids": [
"30577120"
],
"detail": "Alura's sales data does not cover these shops yet, so their sales coverage is null (never a made-up window)."
}
]
}
}{
"type": "https://docs.alura.io/errors/invalid_request",
"title": "Invalid request",
"status": 400,
"code": "invalid_request",
"detail": "Invalid request",
"suggestion": "Fix the request as the detail says, then send it again.",
"retryable": false,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/unauthorized",
"title": "Unauthorized",
"status": 401,
"code": "unauthorized",
"detail": "Unauthorized",
"suggestion": "Send a valid API key as `Authorization: Bearer alura_sk_...`.",
"retryable": false,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/credits_exhausted",
"title": "API credits exhausted",
"status": 402,
"code": "credits_exhausted",
"detail": "API credits exhausted",
"suggestion": "Upgrade the plan or wait for the monthly reset.",
"retryable": false,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/plan_required",
"title": "Plan required",
"status": 403,
"code": "plan_required",
"detail": "Plan required",
"suggestion": "Upgrade the workspace plan to use this operation.",
"retryable": false,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/not_found",
"title": "Not found",
"status": 404,
"code": "not_found",
"detail": "Not found",
"suggestion": "Check the ID, or search for it first.",
"retryable": false,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/method_not_allowed",
"title": "Method not allowed",
"status": 405,
"code": "method_not_allowed",
"detail": "Method not allowed",
"suggestion": "Use one of the methods in the Allow header.",
"retryable": false,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/rate_limited",
"title": "Rate limited",
"status": 429,
"code": "rate_limited",
"detail": "Rate limited",
"suggestion": "Wait for Retry-After, then retry.",
"retryable": true,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/internal_error",
"title": "Internal error",
"status": 500,
"code": "internal_error",
"detail": "Internal error",
"suggestion": "Retry; if it keeps failing, report the request_id.",
"retryable": true,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/credits_unavailable",
"title": "API credits unavailable",
"status": 503,
"code": "credits_unavailable",
"detail": "API credits unavailable",
"suggestion": "Retry shortly.",
"retryable": true,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}List your shops
Lists the Etsy shops connected to your workspace: name, currency, active and digital listings, reviews, the Etsy connection (whether it needs reconnecting, and what it lets Alura do), the latest sync and when the next one is allowed, and when Alura last stored each shop. Covers every connected shop unless shop_id narrows it; a shop outside the workspace is 404. summary gives each shop’s data time, a stale_shops notice for shops not synced for 7 days and a sales_not_covered notice for shops Alura’s sales data does not cover yet. Costs 1 API credit per page with shops; a workspace with none is free.
Cost: 1 API credit per page.
curl "https://api.alura.io/v1/workspace/shops" \
-H "Authorization: Bearer $ALURA_API_KEY"const res = await fetch('https://api.alura.io/v1/workspace/shops', {
headers: {
Authorization: `Bearer ${process.env.ALURA_API_KEY}`,
},
});
console.log(await res.json());import json
import os
import urllib.request
request = urllib.request.Request(
"https://api.alura.io/v1/workspace/shops",
headers={
"Authorization": f"Bearer {os.environ['ALURA_API_KEY']}",
},
)
with urllib.request.urlopen(request) as response:
print(json.load(response)){
"object": "list",
"data": [
{
"object": "workspace.shop",
"id": "22841907",
"name": "GiftMugStudio",
"url": "https://www.etsy.com/shop/GiftMugStudio",
"icon_url": null,
"currency": "USD",
"catalog": {
"active_listings": 134,
"digital_listings": 0
},
"reviews": {
"count": 3067,
"average": 4.92
},
"connection": {
"status": "ok",
"reconnect_url": null,
"capabilities": {
"delete_listings": "available",
"shipments": "unknown",
"buyer_address": "unknown"
}
},
"sync": {
"status": "succeeded",
"last_synced_at": "2026-10-08T07:00:00.000Z",
"next_allowed_at": "2026-10-08T08:00:00.000Z",
"latest_sync_id": "40107"
},
"as_of": "2026-10-08T06:00:00.000Z"
},
{
"object": "workspace.shop",
"id": "30577120",
"name": "ClayAndName",
"url": "https://www.etsy.com/shop/ClayAndName",
"icon_url": null,
"currency": "USD",
"catalog": {
"active_listings": 134,
"digital_listings": 0
},
"reviews": {
"count": 3067,
"average": 4.92
},
"connection": {
"status": "ok",
"reconnect_url": null,
"capabilities": {
"delete_listings": "available",
"shipments": "unknown",
"buyer_address": "unknown"
}
},
"sync": {
"status": "succeeded",
"last_synced_at": "2026-10-17T07:00:00.000Z",
"next_allowed_at": "2026-10-17T08:00:00.000Z",
"latest_sync_id": "40120"
},
"as_of": "2026-10-17T06:00:00.000Z"
},
{
"object": "workspace.shop",
"id": "48911633",
"name": "MugCo",
"url": "https://www.etsy.com/shop/MugCo",
"icon_url": null,
"currency": "USD",
"catalog": {
"active_listings": 134,
"digital_listings": 0
},
"reviews": {
"count": 3067,
"average": 4.92
},
"connection": {
"status": "reconnect_required",
"reconnect_url": "https://platform.alura.io/settings/workspace/etsy-shops",
"capabilities": {
"delete_listings": "restricted",
"shipments": "unknown",
"buyer_address": "unknown"
}
},
"sync": {
"status": "failed",
"last_synced_at": "2026-10-16T06:00:00.000Z",
"next_allowed_at": "2026-10-16T08:00:00.000Z",
"latest_sync_id": "40133"
},
"as_of": "2026-10-16T06:00:00.000Z"
}
],
"has_more": false,
"next_cursor": null,
"total": {
"value": 3,
"relation": "eq"
},
"summary": {
"as_of": "2026-10-08T06:00:00.000Z",
"freshness": [
{
"shop_id": "22841907",
"as_of": "2026-10-08T06:00:00.000Z"
},
{
"shop_id": "30577120",
"as_of": "2026-10-17T06:00:00.000Z"
},
{
"shop_id": "48911633",
"as_of": "2026-10-16T06:00:00.000Z"
}
],
"notices": [
{
"code": "stale_shops",
"shop_ids": [
"22841907"
],
"detail": "These shops have no data, or no data newer than 7 days, for this area. Start a sync to refresh them."
},
{
"code": "sales_not_covered",
"shop_ids": [
"30577120"
],
"detail": "Alura's sales data does not cover these shops yet, so their sales coverage is null (never a made-up window)."
}
]
}
}{
"type": "https://docs.alura.io/errors/invalid_request",
"title": "Invalid request",
"status": 400,
"code": "invalid_request",
"detail": "Invalid request",
"suggestion": "Fix the request as the detail says, then send it again.",
"retryable": false,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/unauthorized",
"title": "Unauthorized",
"status": 401,
"code": "unauthorized",
"detail": "Unauthorized",
"suggestion": "Send a valid API key as `Authorization: Bearer alura_sk_...`.",
"retryable": false,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/credits_exhausted",
"title": "API credits exhausted",
"status": 402,
"code": "credits_exhausted",
"detail": "API credits exhausted",
"suggestion": "Upgrade the plan or wait for the monthly reset.",
"retryable": false,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/plan_required",
"title": "Plan required",
"status": 403,
"code": "plan_required",
"detail": "Plan required",
"suggestion": "Upgrade the workspace plan to use this operation.",
"retryable": false,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/not_found",
"title": "Not found",
"status": 404,
"code": "not_found",
"detail": "Not found",
"suggestion": "Check the ID, or search for it first.",
"retryable": false,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/method_not_allowed",
"title": "Method not allowed",
"status": 405,
"code": "method_not_allowed",
"detail": "Method not allowed",
"suggestion": "Use one of the methods in the Allow header.",
"retryable": false,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/rate_limited",
"title": "Rate limited",
"status": 429,
"code": "rate_limited",
"detail": "Rate limited",
"suggestion": "Wait for Retry-After, then retry.",
"retryable": true,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/internal_error",
"title": "Internal error",
"status": 500,
"code": "internal_error",
"detail": "Internal error",
"suggestion": "Retry; if it keeps failing, report the request_id.",
"retryable": true,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}{
"type": "https://docs.alura.io/errors/credits_unavailable",
"title": "API credits unavailable",
"status": 503,
"code": "credits_unavailable",
"detail": "API credits unavailable",
"suggestion": "Retry shortly.",
"retryable": true,
"request_id": "req_01JQ5W3H8M2N4P6R8T0V2X4Z6B"
}Authorizations
An API key: Authorization: Bearer alura_sk_....
Query Parameters
Only these connected shops, comma-separated; default every connected shop of the workspace. A shop outside the workspace is 404.
Page size: default 25, at most 100.
1 <= x <= 100The next_cursor of the previous page. Bound to the query, the workspace and the key.
Comma-separated dotted paths to return; id, object and as_of always come back.