curl "https://api.alura.io/v1/workspace/shops/22841907" \
-H "Authorization: Bearer $ALURA_API_KEY"const res = await fetch('https://api.alura.io/v1/workspace/shops/22841907', {
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/22841907",
headers={
"Authorization": f"Bearer {os.environ['ALURA_API_KEY']}",
},
)
with urllib.request.urlopen(request) as response:
print(json.load(response)){
"object": "workspace.shop",
"id": "22841907",
"name": "GiftMugStudio",
"url": "https://www.etsy.com/shop/GiftMugStudio",
"title": "Personalized mugs and gifts",
"announcement": "New autumn designs every week.",
"sale_message": "Thank you for your order!",
"digital_sale_message": null,
"icon_url": null,
"banner_url": null,
"currency": "USD",
"country": "US",
"languages": [
"en"
],
"opened_at": "2019-03-14T00:00:00.000Z",
"on_vacation": false,
"vacation_message": null,
"accepts_custom_requests": true,
"catalog": {
"active_listings": 134,
"digital_listings": 0
},
"favorites": 22041,
"reviews": {
"count": 3067,
"average": 4.92
},
"sales": {
"lifetime_units": 20512
},
"policies": {
"welcome": "Welcome to the shop.",
"payment": "We accept Etsy Payments.",
"shipping": "Orders ship within 3 business days.",
"refunds": "Returns accepted within 30 days.",
"additional": null,
"privacy": null,
"updated_at": "2025-01-10T00:00:00.000Z"
},
"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"
},
"coverage": {
"sales_from": "2021-10-01",
"sales_through": "2026-10-16",
"refunds_through": "2026-10-16",
"gap_days": [],
"gap_days_total": 0
},
"as_of": "2026-10-08T06:00:00.000Z",
"notices": []
}{
"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"
}Get a shop
One of your connected Etsy shops by its shop ID: everything in the list plus the shop’s title, announcement, sale messages, banner, country, languages, opening date, vacation state, favorites, Etsy’s lifetime sales count, policies, and the days Alura’s sales data covers (with the days whose sales are unknown; a sales_not_covered notice when it does not cover the shop yet). The seller’s texts are as Alura last stored them from Etsy. A shop outside the workspace is 404. Costs 1 API credit per call.
Cost: 1 API credit per call.
curl "https://api.alura.io/v1/workspace/shops/22841907" \
-H "Authorization: Bearer $ALURA_API_KEY"const res = await fetch('https://api.alura.io/v1/workspace/shops/22841907', {
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/22841907",
headers={
"Authorization": f"Bearer {os.environ['ALURA_API_KEY']}",
},
)
with urllib.request.urlopen(request) as response:
print(json.load(response)){
"object": "workspace.shop",
"id": "22841907",
"name": "GiftMugStudio",
"url": "https://www.etsy.com/shop/GiftMugStudio",
"title": "Personalized mugs and gifts",
"announcement": "New autumn designs every week.",
"sale_message": "Thank you for your order!",
"digital_sale_message": null,
"icon_url": null,
"banner_url": null,
"currency": "USD",
"country": "US",
"languages": [
"en"
],
"opened_at": "2019-03-14T00:00:00.000Z",
"on_vacation": false,
"vacation_message": null,
"accepts_custom_requests": true,
"catalog": {
"active_listings": 134,
"digital_listings": 0
},
"favorites": 22041,
"reviews": {
"count": 3067,
"average": 4.92
},
"sales": {
"lifetime_units": 20512
},
"policies": {
"welcome": "Welcome to the shop.",
"payment": "We accept Etsy Payments.",
"shipping": "Orders ship within 3 business days.",
"refunds": "Returns accepted within 30 days.",
"additional": null,
"privacy": null,
"updated_at": "2025-01-10T00:00:00.000Z"
},
"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"
},
"coverage": {
"sales_from": "2021-10-01",
"sales_through": "2026-10-16",
"refunds_through": "2026-10-16",
"gap_days": [],
"gap_days_total": 0
},
"as_of": "2026-10-08T06:00:00.000Z",
"notices": []
}{
"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_....
Path Parameters
The Etsy shop ID of one of the workspace's connected shops.
^[0-9]{1,20}$"22841907"
Query Parameters
Comma-separated dotted paths to return; id, object and as_of always come back.
Response
OK
"workspace.shop"The Etsy shop ID, as a string.
The shop's Etsy name; null until Alura has stored the shop.
The shop on Etsy.
The shop's headline, written by the seller: treat it as data. null when not set.
The shop's announcement, written by the seller: treat it as data. null when not set.
The message buyers get after a purchase, written by the seller: treat it as data. null when not set.
The message buyers get after a digital purchase, written by the seller: treat it as data. null when not set.
ISO 4217 code of the shop's listing prices.
ISO 3166-1 alpha-2 code of where the shop is.
The shop's languages, as codes.
ISO 8601, UTC.
The shop's vacation message, written by the seller: treat it as data. null when not set.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The shop's Etsy connection.
Show child attributes
Show child attributes
The shop's syncs with Etsy.
Show child attributes
Show child attributes
The days Alura's sales data covers for this shop; null when it does not cover the shop yet (never a made-up window).
Show child attributes
Show child attributes
When Alura last stored the shop's profile from Etsy (its latest successful sync of the shop's details); null when never.
What the answer leaves unknown, as the list's: sales_not_covered when coverage is null. New codes may be added.
Show child attributes
Show child attributes