Arcadium Data Scrapers
Home / Switch / Etsy Listings Scraper

Switching from Etsy Listings Scraper to Etsy Scraper

Etsy Scraper (arcadium/etsy-products) reads input written for yumitori/etsy-listings-scraper: 10 of its 14 input fields work as they are. Field list from its public input schema (build 0.1.122, 2026-10-31); prices and run results from the public Apify API, 2026-11-01.

Their fields that work as they are

Their fieldTypeNote
queriesarrayAs is
maxPagesintegerRead as 36 listings a page; maxResults wins when both are set.
maxResultsintegerAs is
sortstringAs is
countrystringRead as the ship-to country.
minPriceintegerAs is
maxPriceintegerAs is
onSaleOnlybooleanAs is
freeShippingOnlybooleanAs is
includeAdsbooleanAs is

Their fields this actor does not read

digitalOnly, handmadeOnly, includeInDemand, dedupeAcrossQueries. Leave them out of the input; the actor’s own options are in the guide.

Side by side: their input, our rows

Input written for yumitori/etsy-listings-scraper, pasted unchanged:

{
  "queries": [
    "custom stickers"
  ],
  "maxResults": 100,
  "sort": "price-asc",
  "country": "DE",
  "minPrice": 5,
  "maxPrice": 40,
  "onSaleOnly": true,
  "freeShippingOnly": true,
  "includeAds": true
}

One row from arcadium/etsy-products (README example; long text shortened):

{
  "rowType": "listing",
  "platform": "etsy",
  "listingId": "962939986",
  "title": "Leather Envelope Wallet for Women, Personalized Mini Card Wallet, Full Grain Crazy Horse",
  "url": "https://www.etsy.com/listing/962939986",
  "price": 64,
  "currency": "USD",
  "salePrice": 57.6,
  "discountPercent": 10,
  "onSale": true,
  "favorites": 4979,
  "rating": 4.95,
  "reviewCount": 245,
  "tags": [
    "Envelope Wallet",
    "Women's Leather"
  ],
  "materials": [
    "Full Grain Crazy Horse Leather"
  ],
  "category": "Wallets",
  "variations": [
    {
      "name": "Primary color",
      "options": [
        {
          "value": "Tan",
          "price": null,
          "available": true
        }
      ]
    }
  ],
  "whenMade": "2020_2026",
  "shipsFromCountry": "TR",
  "shipping": {
    "shipsFrom": "Türkiye",
    "freeShipping": true,
    "deliveryEstimate": "Oct 26-Nov 2",
    "deliverTo": "United States",
    "returns": "Returns & exchanges accepted within 30 days."
  },
  "shop": {
    "shopId": "28165607",
    "shopName": "YukonLeatherGoods",
    "sales": 6583,
    "rating": 4.92,
    "reviewCount": 1412,
    "location": "Dover, Delaware",
    "isStarSeller": true
  },
  "searchInput": "leather wallet",
  "searchRank": 3,
  "isAd": false
}

Output fields: rowType, platform, listingId, url, title, description, price, currency, salePrice, discountPercent, onSale, priceUsd, quantity, isAvailable, isSoldOut, favorites, rating, reviewCount, ratingCounts, tags, materials, category, categoryPath, taxonomyId, variations, hasVariationPricing, images, whenMade, isDigital, isCustomizable, isMadeToOrder, isBestseller, shipsFromCountry, shipping, shopSection, shop, createdAt, updatedAt, isAd, searchInput, searchRank, reviewId, text, date, sellerResponse, hasPhoto, input, code, message, scrapedAt. The rows use these names, not the other actor’s.

Price

ActorPricing modelCharged perPer 1,000, Free planPer 1,000, lowest plan
arcadium/etsy-productsPay per eventListing$7.20$5.40
yumitori/etsy-listings-scraperPay per event, plus platform usageEtsy listing$8.00$8.00

Live Apify prices on 2026-11-01, in USD, for each actor’s main charged event. Start fees and platform usage are not included. Units differ: compare what one charged row contains. The Store page of each actor is the current source.

Common issues: failed or timed-out runs

ActorRuns, last 30 daysFailedTimed out
arcadium/etsy-productsunder 50 runs--
yumitori/etsy-listings-scraper7,0520.0%0.0%

Apify’s public run statistics for each actor, last 30 days to 2026-11-01: FAILED and TIMED-OUT runs as a share of all runs. Shown from 50 runs. A failed run can also come from a bad input. Here an input that cannot be read comes back as a free error row with a code, and the other inputs still arrive.

How to switch

In the Apify Store

  1. Open arcadium/etsy-products and sign in to Apify.
  2. On the Input tab, switch the editor to JSON and paste the input you used for yumitori/etsy-listings-scraper, without the fields listed above as not read.
  3. Start the run. Set a maximum cost per run in the run options if you want a hard cap.

Over the API

Change the actor ID in the URL from yumitori~etsy-listings-scraper to arcadium~etsy-products; the body stays the same apart from the fields this actor does not read.

curl -X POST "https://api.apify.com/v2/acts/arcadium~etsy-products/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"queries":["custom stickers"],"maxResults":100,"sort":"price-asc","country":"DE","minPrice":5,"maxPrice":40,"onSaleOnly":true,"freeShippingOnly":true,"includeAds":true}'

In n8n

In the Apify node, change the actor to arcadium/etsy-products and keep the input JSON. With an HTTP Request node:

{
  "nodes": [
    {
      "name": "Run arcadium/etsy-products",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4,
      "position": [
        0,
        0
      ],
      "parameters": {
        "method": "POST",
        "url": "https://api.apify.com/v2/acts/arcadium~etsy-products/run-sync-get-dataset-items",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "{\"queries\":[\"custom stickers\"],\"maxResults\":100,\"sort\":\"price-asc\",\"country\":\"DE\",\"minPrice\":5,\"maxPrice\":40,\"onSaleOnly\":true,\"freeShippingOnly\":true,\"includeAds\":true}",
        "options": {
          "timeout": 300000
        }
      }
    }
  ],
  "connections": {}
}

From an AI assistant (MCP)

Add the actor as a tool on Apify’s MCP server; an agent can pass the same input fields.

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com/?tools=arcadium/etsy-products",
      "headers": {
        "Authorization": "Bearer <APIFY_TOKEN>"
      }
    }
  }
}

All switching guides