Etsy Scraper

  • epctex/etsy-scraper
  • Modified
  • Users 472
  • Runs 5.4k
  • Created by Author's avatarepctex

Scrape valuable data from over 4 million Etsy sellers. Extract product details, descriptions, listed date, images, seller info, and more. Customize your searches and filters to gather the desired information effortlessly.

Free trial for 3 days

Then $30.00/month

No credit card required now

Etsy Scraper

Free trial for 3 days

Then $30.00/month

To run the code examples, you need to have an Apify account. Replace <YOUR_API_TOKEN> in the code with your API token. For a more detailed explanation, please read about running Actors via the API in Apify Docs.

from apify_client import ApifyClient

# Initialize the ApifyClient with your API token
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [
        "https://www.etsy.com/listing/743657804/sheepskin-slippers-wool-slippers-fur?ga_order=most_relevant&ga_search_type=all&ga_view_type=gallery&ga_search_query=&ref=sc_gallery-5-1&plkey=89e47f49c28602795b44fc71559e2839056339d8%3A743657804&frs=1",
        "https://www.etsy.com/c/clothing-and-shoes?ref=catnav-10923",
        "https://www.etsy.com/search?q=apple%20watch",
        "https://www.etsy.com/shop/PetiteFraise?ref=simple-shop-header-name&listing_id=490831663&page=2#items",
    ],
    "maxItems": 10,
    "endPage": 1,
    "extendOutputFunction": """($) => {
    const result = {};
    // Uncomment to add a title to the output
    // result.title = $('title').text().trim();

    return result;
}""",
    "customMapFunction": "(object) => { return {...object} }",
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("epctex/etsy-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)