Etsy API endpoint
Returns the details of one Etsy listing by its numeric `id`: title, description, URL, price and currency, quantity, favorites, views, materials, tags, images and category. It also has the shop id and name, listing state, sold-out, customizable and digital flags, when it was made, shipping origin country, and create and update dates.
/etsy/listing/{id}Path parameters:
id (required) — numeric Etsy listing id.Response fields: listing_id, title, description, url, price,
price_int, currency, quantity, favorites, views, materials,
tags, images, category_name, shop_id, shop_name, state,
is_sold_out, is_customizable, is_digital, when_made,
ships_from_country, create_date, update_date.
| Field | In the sample | Value in the sample |
|---|---|---|
| listing_id | Has a value | |
| title | Has a value | 124 characters |
| description | Has a value | 595 characters |
| url | Has a value | etsy.com |
| price | Has a value | 101.66 |
| price_int | Has a value | 10,166 |
| currency | Has a value | “USD” |
| quantity | Has a value | 2 |
| favorites | Has a value | 10,899 |
| materials | Has a value | 1 entry |
| tags | Has a value | 11 entries |
| images | Has a value | 8 entries |
| shop_id | Has a value | |
| shop_name | Has a value | “gaguatelier” |
| state | Has a value | “active” |
| when_made | Has a value | “made_to_order” |
| ships_from_country | Has a value | “TR” |
| create_date | Has a value | 2026-10-11 |
| update_date | Has a value | 2026-10-11 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id (path) | string | Yes | Numeric Etsy listing id | 1044347578 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/etsy/listing/1044347578" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"listing_id": "1044347578",
"title": "Handmade Ceramic Mug",
"price": "$29.99",
"price_int": 2999,
"currency": "USD",
"shop_id": "87654321",
"shop_name": "gaguatelier",
"is_sold_out": false
}
}Request schema
No body schema
Response schema
#/definitions/etsy.listingResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | etsy.MobileListing | No | ||||
| data.category_name | string | No | ||||
| data.create_date | integer | No | ||||
| data.currency | string | No | USD | |||
| data.description | string | No | ||||
| data.favorites | integer | No | ||||
| data.images | array | No | ||||
| data.is_customizable | boolean | No | ||||
| data.is_digital | boolean | No | ||||
| data.is_sold_out | boolean | No | ||||
| data.listing_id | string | No | 1044347578 | |||
| data.materials | array | No | ||||
| data.price | string | No | $29.99 | |||
| data.price_int | integer | No | 2999 | |||
| data.quantity | integer | No | ||||
| data.ships_from_country | string | No | ||||
| data.shop_id | string | No | ||||
| data.shop_name | string | No | ||||
| data.state | string | No | active | |||
| data.tags | array | No | ||||
| data.title | string | No | ||||
| data.update_date | integer | No | ||||
| data.url | string | No | ||||
| data.views | integer | No | ||||
| data.when_made | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/etsy/listing/1044347578" \
-H "x-api-key: $CRAWLORA_API_KEY"