E-commerce
Etsy Scraper
etsy.com
Etsy is served through a dedicated plugin endpoint rather than the generic page fetch. Give it a query and it returns the products already parsed: the title, the price and currency, the shop, an image and a clean listing URL. Sort the results, filter by price, and page through as many as you need. Prices come back in USD by default.
What you can extract
- Title and a listing URL
- Price and currency
- Shop name
- Product image
Dedicated endpoints
/marketplace/etsy-search A product search on Etsy
Etsy products for a query: a products array with title, price, currency, shop, image and a listing url. Sort, filter with min_price/max_price, and page with max_results.
How to scrape it
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/marketplace/etsy-search?query=handmade%20jewelry"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/marketplace/etsy-search",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"query": "handmade jewelry"},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const data = await su.etsySearch('handmade jewelry', {
sort: 'price_asc',
});
console.log(data); Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.
Example response
{
"query": "handmade necklace",
"resultsCollected": 96,
"products": [
{
"id": "1502837465",
"title": "Personalized Name Necklace, Custom Gold Jewelry",
"url": "https://www.etsy.com/listing/1502837465",
"price": 28.5,
"currency": "$",
"shop": "GoldenLeafStudio",
"image": "https://i.etsystatic.com/....jpg"
}
]
} Frequently asked questions
Is it legal to scrape Etsy?
Collecting publicly available Etsy data such as listing titles, prices and shop names is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. Some of it can be personal data, so follow the privacy rules that apply to you. ScrapeUnblocker returns the public page; what you collect and how you use it is your responsibility.
How do I scrape Etsy without getting blocked?
Etsy is protected by an in-house anti-bot system. The ScrapeUnblocker plugin renders the page in a real browser, rotates residential and ISP exits and handles challenges, then returns the products as JSON. In ScrapeUnblocker's benchmark it returned real content on 100% of 1,000 calls, about 3.7s per call.
What Etsy data can I get?
Each product comes with Etsy's listing id, title, a clean listing URL, the numeric price, the currency symbol as Etsy shows it, the shop name and a thumbnail image. On sponsored cards the shop can carry Etsy's promoted-listing prefix. Sort by relevancy, price, newest or top reviews.
Do I need an Etsy API or account?
No. The Etsy plugin returns product search results as JSON without an Etsy API key or OAuth app. Send a query with your ScrapeUnblocker key, filter with min_price and max_price, start from any page of about 48 listings and collect up to 500 products per search with max_results.
Can I get Etsy prices in a specific currency?
Yes. Etsy prices come back in the exit country's currency, so the plugin uses a US exit by default for USD prices. Pass proxy_country with an ISO-2 code to see prices in another market. The currency field holds the symbol as Etsy shows it, such as $ or €, not an ISO code.
How much does it cost to scrape Etsy?
Each Etsy plugin call is one request, and 1 request = 1 credit: EUR 1.00 per 1,000 on pay as you go, down to about EUR 0.55 per 1,000 on the Ultimate plan. A plugin search is one call, and the response already holds the full result set. Blocks, timeouts and errors on ScrapeUnblocker's side are not billed. The free trial includes 500 requests, no card.
Related scrapers
Start scraping this site today
Free tier included. No credit card required to test it.