curl "https://api.alura.io/v1/etsy/news?since=2026-10-01" \
-H "Authorization: Bearer $ALURA_API_KEY"const res = await fetch('https://api.alura.io/v1/etsy/news?since=2026-10-01', {
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/etsy/news?since=2026-10-01",
headers={
"Authorization": f"Bearer {os.environ['ALURA_API_KEY']}",
},
)
with urllib.request.urlopen(request) as response:
print(json.load(response)){
"object": "list",
"data": [
{
"object": "etsy.news_article",
"id": "share-and-save-holiday-refund",
"slug": "share-and-save-holiday-refund",
"title": "Share & Save refunds the full 6.5% transaction fee through January 4, 2027",
"dek": "Sellers enrolled in Share & Save get the whole transaction fee back on eligible orders from their own links from October 20, 2026 through January 4, 2027.",
"url": "https://www.alura.io/news/share-and-save-holiday-refund",
"published_at": "2026-10-20",
"created_at": "2026-10-22T09:00:00.000Z",
"updated_at": "2026-10-22T09:00:00.000Z",
"topics": [
"fees",
"programs"
],
"update_ids": [
"2026-10-20-share-and-save-holiday-refund"
],
"author": "Alura"
},
{
"object": "etsy.news_article",
"id": "us-entry-type-13-postal",
"slug": "us-entry-type-13-postal",
"title": "US requires Entry Type 13 customs filing for postal parcels worth $2,500 or less from January 20, 2027",
"dek": "From January 20, 2027, sellers outside the US who post orders to US buyers need shipment-level customs data on each parcel, or it may be held or returned.",
"url": "https://www.alura.io/news/us-entry-type-13-postal",
"published_at": "2026-10-19",
"created_at": "2026-10-22T09:00:00.000Z",
"updated_at": "2026-10-22T09:00:00.000Z",
"topics": [
"shipping",
"policies"
],
"update_ids": [
"2026-10-19-us-entry-type-13"
],
"author": "Alura"
},
{
"object": "etsy.news_article",
"id": "regulatory-operating-fee-june-2026",
"slug": "regulatory-operating-fee-june-2026",
"title": "Etsy changes the regulatory operating fee in 7 countries, with France rising to 1.14%",
"dek": "Sellers based in France, Hungary, India, Italy, Spain, Türkiye and the UK pay new rates from June 22, 2026, and Canada's rate has fallen to 0.50% with no start date from Etsy.",
"url": "https://www.alura.io/news/regulatory-operating-fee-june-2026",
"published_at": "2026-04-22",
"created_at": "2026-10-22T09:00:00.000Z",
"updated_at": "2026-10-22T09:00:00.000Z",
"topics": [
"fees"
],
"update_ids": [
"2026-06-22-regulatory-operating-fee-changes",
"2026-06-22-regulatory-operating-fee-canada-cut"
],
"author": "Alura"
}
],
"has_more": false,
"next_cursor": null,
"total": {
"value": 3,
"relation": "eq"
}
}{
"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 news
List Etsy News: articles Alura writes for sellers, one per major Etsy change, each explaining what changed and citing Etsy’s own pages. Newest story first.
curl "https://api.alura.io/v1/etsy/news?since=2026-10-01" \
-H "Authorization: Bearer $ALURA_API_KEY"const res = await fetch('https://api.alura.io/v1/etsy/news?since=2026-10-01', {
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/etsy/news?since=2026-10-01",
headers={
"Authorization": f"Bearer {os.environ['ALURA_API_KEY']}",
},
)
with urllib.request.urlopen(request) as response:
print(json.load(response)){
"object": "list",
"data": [
{
"object": "etsy.news_article",
"id": "share-and-save-holiday-refund",
"slug": "share-and-save-holiday-refund",
"title": "Share & Save refunds the full 6.5% transaction fee through January 4, 2027",
"dek": "Sellers enrolled in Share & Save get the whole transaction fee back on eligible orders from their own links from October 20, 2026 through January 4, 2027.",
"url": "https://www.alura.io/news/share-and-save-holiday-refund",
"published_at": "2026-10-20",
"created_at": "2026-10-22T09:00:00.000Z",
"updated_at": "2026-10-22T09:00:00.000Z",
"topics": [
"fees",
"programs"
],
"update_ids": [
"2026-10-20-share-and-save-holiday-refund"
],
"author": "Alura"
},
{
"object": "etsy.news_article",
"id": "us-entry-type-13-postal",
"slug": "us-entry-type-13-postal",
"title": "US requires Entry Type 13 customs filing for postal parcels worth $2,500 or less from January 20, 2027",
"dek": "From January 20, 2027, sellers outside the US who post orders to US buyers need shipment-level customs data on each parcel, or it may be held or returned.",
"url": "https://www.alura.io/news/us-entry-type-13-postal",
"published_at": "2026-10-19",
"created_at": "2026-10-22T09:00:00.000Z",
"updated_at": "2026-10-22T09:00:00.000Z",
"topics": [
"shipping",
"policies"
],
"update_ids": [
"2026-10-19-us-entry-type-13"
],
"author": "Alura"
},
{
"object": "etsy.news_article",
"id": "regulatory-operating-fee-june-2026",
"slug": "regulatory-operating-fee-june-2026",
"title": "Etsy changes the regulatory operating fee in 7 countries, with France rising to 1.14%",
"dek": "Sellers based in France, Hungary, India, Italy, Spain, Türkiye and the UK pay new rates from June 22, 2026, and Canada's rate has fallen to 0.50% with no start date from Etsy.",
"url": "https://www.alura.io/news/regulatory-operating-fee-june-2026",
"published_at": "2026-04-22",
"created_at": "2026-10-22T09:00:00.000Z",
"updated_at": "2026-10-22T09:00:00.000Z",
"topics": [
"fees"
],
"update_ids": [
"2026-06-22-regulatory-operating-fee-changes",
"2026-06-22-regulatory-operating-fee-canada-cut"
],
"author": "Alura"
}
],
"has_more": false,
"next_cursor": null,
"total": {
"value": 3,
"relation": "eq"
}
}{
"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"
}curl -G "https://api.alura.io/v1/etsy/news" \
-H "Authorization: Bearer $ALURA_API_KEY" \
--data-urlencode "kind=fees"
dek, topics and the update_ids it explains. Get article returns the whole story.
| Endpoint | What you get | Use it for |
|---|---|---|
| List updates | Etsy’s changes as dated records: status, the fee and rule keys they change, Etsy’s own pages | Code that tracks or reacts to changes |
| List news | Articles Alura writes for sellers, one per major change, each explaining one or more updates | Showing people what changed and what it means |
| List feed | Updates and articles in one list, newest first | One timeline of both |
Filter articles
| To find | Use |
|---|---|
| Recent articles | since, such as 2026-10-01: the story date (published_at) or the day Alura published it (created_at) is on or after the day. A story added later about an older change shows up when it’s published. |
| Articles on one topic | kind: fees, listing_rules, policies, search, programs, payments or shipping |
| Articles for sellers in one country | country, such as GB: articles about updates for that country, and about updates that apply everywhere |
limit allows. See Pagination.Authorizations
An API key: Authorization: Bearer alura_sk_....
Query Parameters
Only articles whose story date (published_at) or publishing day (created_at) is on or after this day, YYYY-MM-DD, so a backfilled story shows up when it is published.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$"2026-10-01"
Only articles with this topic (an Etsy update kind).
fees, listing_rules, policies, search, programs, payments, shipping Only articles about an update for sellers in this country (ISO 3166-1 alpha-2, for example GB), including updates that apply everywhere.
^[A-Za-z]{2}$Page size: at most 10, the default.
1 <= x <= 10The 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.