curl --request GET \
--url https://api.alura.io/v1/research/products/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.alura.io/v1/research/products/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.alura.io/v1/research/products/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"object": "research.product",
"id": "<string>",
"url": "<string>",
"title": "<string>",
"state": "<string>",
"shop": {
"id": "<string>",
"name": "<string>",
"object": "research.shop",
"title": "<string>",
"url": "<string>",
"icon_url": "<string>",
"banner_url": "<string>",
"country": "<string>",
"currency": "<string>",
"opened_at": "<string>",
"star_seller": true,
"on_vacation": true,
"category": {
"name": "<string>",
"sub_category": "<string>"
},
"catalog": {
"active_listings": 0,
"digital_listings": 0,
"avg_price_usd": 123
},
"favorites": 0,
"reviews": {
"count": 0,
"average": 123
},
"sales": {
"lifetime": 0,
"est_lifetime_revenue_usd": 123,
"est_monthly_avg": 123,
"est_monthly_avg_revenue_usd": 123,
"est_last_month": 123,
"est_last_month_revenue_usd": 123,
"est_trend_3m": 123
},
"avg_listing_score": 0,
"as_of": "<string>",
"refresh": {
"status": "queued",
"progress": 123,
"started_at": "<string>",
"estimated_ready_at": "<string>",
"error": {
"code": "<string>",
"detail": "<string>"
}
}
},
"price": {
"amount": "<string>",
"currency": "<string>",
"usd": "<string>"
},
"quantity": 0,
"category": {
"id": "<string>",
"path": [
"<string>"
]
},
"tags": [
"<string>"
],
"materials": [
"<string>"
],
"language": "<string>",
"image_url": "<string>",
"images": [
{
"url": "<string>",
"thumbnail_url": "<string>",
"alt_text": "<string>",
"rank": 0
}
],
"video": {
"url": "<string>",
"thumbnail_url": "<string>"
},
"listed_at": "<string>",
"attributes": {
"who_made": "<string>",
"when_made": "<string>",
"is_digital": true,
"is_personalizable": true,
"is_customizable": true,
"has_variations": true,
"free_shipping": true
},
"favorites": 0,
"reviews": {
"count": 0,
"average": 123
},
"sales": {
"est_lifetime": 123,
"est_lifetime_revenue_usd": 123,
"est_monthly_avg": 123,
"est_monthly_avg_revenue_usd": 123,
"est_last_month": 123,
"est_last_month_revenue_usd": 123,
"est_trend_3m": 123
},
"listing_score": 0,
"as_of": "<string>",
"refresh": {
"status": "queued",
"progress": 123,
"started_at": "<string>",
"estimated_ready_at": "<string>",
"error": {
"code": "<string>",
"detail": "<string>"
}
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}Get a product
One Etsy product (another seller’s listing) by its listing ID: title, current price, category, tags, images, attributes, reviews, Alura’s sales estimates and listing score, with as_of. expand=shop turns shop into the full shop, free. Data older than 14 days comes back with a refresh in progress when one could be started. A product Alura has not seen yet answers 202 while it is fetched, or 503 fetch_unavailable while fetching is off.
Cost: 1 API credit per call.
curl --request GET \
--url https://api.alura.io/v1/research/products/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.alura.io/v1/research/products/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.alura.io/v1/research/products/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"object": "research.product",
"id": "<string>",
"url": "<string>",
"title": "<string>",
"state": "<string>",
"shop": {
"id": "<string>",
"name": "<string>",
"object": "research.shop",
"title": "<string>",
"url": "<string>",
"icon_url": "<string>",
"banner_url": "<string>",
"country": "<string>",
"currency": "<string>",
"opened_at": "<string>",
"star_seller": true,
"on_vacation": true,
"category": {
"name": "<string>",
"sub_category": "<string>"
},
"catalog": {
"active_listings": 0,
"digital_listings": 0,
"avg_price_usd": 123
},
"favorites": 0,
"reviews": {
"count": 0,
"average": 123
},
"sales": {
"lifetime": 0,
"est_lifetime_revenue_usd": 123,
"est_monthly_avg": 123,
"est_monthly_avg_revenue_usd": 123,
"est_last_month": 123,
"est_last_month_revenue_usd": 123,
"est_trend_3m": 123
},
"avg_listing_score": 0,
"as_of": "<string>",
"refresh": {
"status": "queued",
"progress": 123,
"started_at": "<string>",
"estimated_ready_at": "<string>",
"error": {
"code": "<string>",
"detail": "<string>"
}
}
},
"price": {
"amount": "<string>",
"currency": "<string>",
"usd": "<string>"
},
"quantity": 0,
"category": {
"id": "<string>",
"path": [
"<string>"
]
},
"tags": [
"<string>"
],
"materials": [
"<string>"
],
"language": "<string>",
"image_url": "<string>",
"images": [
{
"url": "<string>",
"thumbnail_url": "<string>",
"alt_text": "<string>",
"rank": 0
}
],
"video": {
"url": "<string>",
"thumbnail_url": "<string>"
},
"listed_at": "<string>",
"attributes": {
"who_made": "<string>",
"when_made": "<string>",
"is_digital": true,
"is_personalizable": true,
"is_customizable": true,
"has_variations": true,
"free_shipping": true
},
"favorites": 0,
"reviews": {
"count": 0,
"average": 123
},
"sales": {
"est_lifetime": 123,
"est_lifetime_revenue_usd": 123,
"est_monthly_avg": 123,
"est_monthly_avg_revenue_usd": 123,
"est_last_month": 123,
"est_last_month_revenue_usd": 123,
"est_trend_3m": 123
},
"listing_score": 0,
"as_of": "<string>",
"refresh": {
"status": "queued",
"progress": 123,
"started_at": "<string>",
"estimated_ready_at": "<string>",
"error": {
"code": "<string>",
"detail": "<string>"
}
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"suggestion": "<string>",
"retryable": true,
"request_id": "<string>",
"upgrade_url": "<string>",
"credits_needed": 123,
"credits_remaining": 123,
"resets_at": "2023-11-07T05:31:56Z"
}Authorizations
An API key: Authorization: Bearer alura_sk_....
Path Parameters
Etsy listing ID.
^[1-9][0-9]{0,19}$Query Parameters
Comma-separated dotted paths to return; id, object and as_of always come back.
Comma-separated related objects to include: shop. Free.
Response
OK
"research.product"Etsy ID, as a string.
The listing on Etsy.
Etsy listing state, for example active, sold_out, expired.
The product's shop: its ID and name; with expand=shop the full shop (free; only the ID and name when Alura has not seen the shop).
Show child attributes
Show child attributes
The listing's current price.
Show child attributes
Show child attributes
-9007199254740991 <= x <= 9007199254740991Show child attributes
Show child attributes
The seller's tags (up to 13); null when unknown.
The primary image (570px wide).
Every image, in rank order.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
ISO 8601, UTC.
Show child attributes
Show child attributes
-9007199254740991 <= x <= 9007199254740991Show child attributes
Show child attributes
Estimates (methodology: https://docs.alura.io/methodology/sales-estimates). Revenue is valued at the current price.
Show child attributes
Show child attributes
Alura's 0-100 listing score.
-9007199254740991 <= x <= 9007199254740991When this data was last updated from Etsy.
A refresh from Etsy in progress for stale data; null when none is running.
Show child attributes
Show child attributes