{
  "openapi": "3.0.1",
  "info": {
    "title": "Etsy Search Scraper From $0.9/1K 💰 Filters & 1,000+ Results",
    "description": "🛍️ Scrape Etsy search results for any keyword or category — listings with price, sale price, shop, ratings, badges, shipping & images. Sort & filter like the Etsy app; split big searches to go past ~1,000 results. Public data, no login.",
    "version": "0.0",
    "x-build-id": "CaWWetcNxZHXn5f0u"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dz_omar~etsy-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dz_omar-etsy-search-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/dz_omar~etsy-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dz_omar-etsy-search-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/dz_omar~etsy-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dz_omar-etsy-search-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchTerms": {
            "title": "🔎 Search terms",
            "type": "array",
            "description": "One or more keywords to search for on Etsy, exactly as you would type them in the search bar. Each term is searched separately.\n\nExample: leather wallet",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "🔢 Max results per search term",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum listings to collect for each search term (not a global total). Set 0 to collect everything Etsy returns. Etsy itself stops a single search after roughly 1,000 results — keep 'Split large searches' on to go beyond that.",
            "default": 100
          },
          "sort": {
            "title": "↕️ Sort by",
            "enum": [
              "Relevance",
              "Most recent",
              "Lowest price",
              "Highest price"
            ],
            "type": "string",
            "description": "Order results are returned in, matching the Etsy app.",
            "default": "Relevance"
          },
          "category": {
            "title": "🗂️ Category",
            "enum": [
              "all",
              "132",
              "66",
              "1",
              "199",
              "323",
              "374",
              "562",
              "825",
              "891",
              "1179",
              "12545",
              "1250",
              "1351",
              "1429",
              "1552",
              "1633"
            ],
            "type": "string",
            "description": "Only return listings from this top-level Etsy category.",
            "default": "all"
          },
          "minPrice": {
            "title": "💲 Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price to include, in whole units of the currency of the selected 'Ships to' country (Etsy filters on whole units, so 20.5 counts as 20). Applies to the price a shopper pays after any sale discount. Exact for USD; for other currencies Etsy converts with its own exchange rates, so results near the edges can be slightly off."
          },
          "maxPrice": {
            "title": "💲 Maximum price",
            "minimum": 1,
            "type": "integer",
            "description": "Highest price to include, in whole units of the currency of the selected 'Ships to' country. Must not be lower than the minimum price. Etsy ignores values below 1. Exact for USD; for other currencies results near the edge can be slightly off (Etsy's own exchange rates)."
          },
          "freeShipping": {
            "title": "🚚 Free shipping only",
            "type": "boolean",
            "description": "Only listings that ship free to the selected country.",
            "default": false
          },
          "onSale": {
            "title": "🏷️ On sale only",
            "type": "boolean",
            "description": "Only listings with an active discount.",
            "default": false
          },
          "itemType": {
            "title": "🏺 Item type",
            "enum": [
              "Any",
              "Vintage"
            ],
            "type": "string",
            "description": "Limit to vintage items.",
            "default": "Any"
          },
          "readyToShip": {
            "title": "📦 Ready to ship",
            "enum": [
              "Any",
              "1 business day",
              "3 business days"
            ],
            "type": "string",
            "description": "Only listings whose seller ships within this time.",
            "default": "Any"
          },
          "shipTo": {
            "title": "🌍 Ships to",
            "enum": [
              "US",
              "GB",
              "CA",
              "AU",
              "DE",
              "FR",
              "NL",
              "ES",
              "IT"
            ],
            "type": "string",
            "description": "Destination country. Sets shipping eligibility and the currency prices are shown in.",
            "default": "US"
          },
          "includeSponsored": {
            "title": "📣 Include sponsored listings",
            "type": "boolean",
            "description": "Etsy mixes promoted listings into results. They are real listings and are flagged with is_sponsored. Turn off to keep organic results only.",
            "default": true
          },
          "splitLargeSearches": {
            "title": "🧩 Split large searches (beyond ~1,000 results)",
            "type": "boolean",
            "description": "Etsy ends every search after roughly 1,000 results, however many match. When ON and you ask for more than that (or 0 = everything), the search is automatically split by category and price range and the results are merged without duplicates. Has no effect on small requests.",
            "default": true
          },
          "enrichWithDetails": {
            "title": "📄 Add full listing details",
            "type": "boolean",
            "description": "Also fetch each listing's full product record (description, variations, shipping, policies, shop) and attach it to the result. Slower, and billed per enriched result in addition to the search result.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}