# Etsy Scraper

Scrape shop information and product information (name, price, image URLs, etc.) from Etsy by shop URLs.

- Template page: [https://www.octoparse.com/template/etsy-scraper](https://www.octoparse.com/template/etsy-scraper)
- Categories: E-Commerce
- Status: `PUBLISHED`
- Run mode: `LOCAL`

## Pricing

Free.

## What is an Octoparse template?

An Octoparse template is a ready-to-use scraping workflow with predefined inputs and structured outputs. Use the exact parameter keys below; do not invent parameters.

## Overview

This ready-to-use template collects structured data from listing pages.

## Output

The current workflow extracts 15 fields, including `Business`, `Discount`, `ImageURL`, `Location`, `OldPrice`, `Product`, `ProductID`, `ProductRating`, `ProductReview`, `ProductURL`, `SalePrice`, `ShopName`, `StoreRating`, `StoreReview`, `TotalSales`.

## Use Cases

- Use structured results for research, comparison, and monitoring.
- Collect rows without building the extraction workflow from scratch.
- Combine results with other templates for downstream enrichment.
- Review a representative result before starting a large batch.

## Why Octoparse

- **No coding required:** complete Shop URLs (up to 100) and start the template in local mode.
- **Flexible export:** review and export results as CSV, Excel, or JSON.

## Input

### Shop URLs (up to 100)

Required. Enter a list of shop URLs on Etsy to extract data. Constraints: minItems=1; maxItems=100; items.minLength=1; items.maxLength=100000.

## How to Use

## Etsy Shop Scraper

Collects shop-level and product data from Etsy shop URLs: shop identity, location, sales, rating, product prices, discounts, images, product URLs. Data from [Etsy](https://www.etsy.com/).

### Pricing
Free of charge; no per-line usage fee. Octoparse plan or resource limits may still apply.

### Output Fields (JSON)
```json
{
"ShopName": null,
"Business": null,
"Location": null,
"TotalSales": null,
"StoreRating": null,
"StoreReview": null,
"Product": null,
"SalePrice": null,
"OldPrice": null,
"Discount": null,
"ImageURL": null,
"ProductURL": null,
"ProductID": null,
"ProductRating": null,
"ProductReview": null
}
```

### Input
- **Shop URLs** (Required) – Enter up to 100 Etsy shop URLs per run.

### How to Use
1. Open Etsy Scraper and click **Try it!**.
2. Complete **Shop URLs** using the format and limit above.
3. Choose a local or cloud run in Octoparse and start the task.
4. Export the rows in your desired format.

### Tips
- Test one representative Shop URL before submitting a large batch.

## Limitations

Results depend on what the source site exposes at run time. Fields may be empty when a source page does not provide a value. The template enforces the input limits shown above.

## Tips

Use specific, valid inputs and review a representative result before starting a large batch. Remove duplicate inputs when repeated records are not needed.

## FAQ

### What do I need to enter?

Use the exact inputs and limits listed above.

### What data does this template return?

See Output Schema below; availability can vary by source record.

### How is usage billed?

See the Pricing section above for current pricing and billing details.

## Related Templates

- [Etsy Product Scraper (by URL)](https://www.octoparse.com/template/etsy-product-scraper-by-url)
- [Etsy Product Scraper](https://www.octoparse.com/template/etsy-product-scraper)
- [Etsy Shop Products Scraper](https://www.octoparse.com/template/etsy-shop-products-scraper)
- [Etsy Product Scraper（by keywords）](https://www.octoparse.com/template/etsy_product_scraper)
- [Bic Camera Search Results Scraper](https://www.octoparse.com/template/bic-camera-search-results-scraper)

## Input Schema

```json
{
  "title": "Etsy Scraper input",
  "description": "Input parameters configured for the current published template version.",
  "type": "object",
  "schemaVersion": 1,
  "additionalProperties": false,
  "properties": {
    "shop_URLs": {
      "title": "Shop URLs (up to 100)",
      "description": "Enter a list of shop URLs on Etsy to extract data.",
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100000
      },
      "minItems": 1,
      "maxItems": 100,
      "x-octoparse": {
        "apiEnabled": true
      }
    }
  },
  "required": [
    "shop_URLs"
  ]
}
```

## Input JSON Example

No verified real input/output examples are currently available.


## Output Schema

```json
{
  "schemaVersion": 1,
  "type": "object",
  "properties": {
    "Business": {
      "type": "string",
      "description": ""
    },
    "Discount": {
      "type": "string",
      "description": ""
    },
    "ImageURL": {
      "type": "string",
      "description": ""
    },
    "Location": {
      "type": "string",
      "description": ""
    },
    "OldPrice": {
      "type": "string",
      "description": ""
    },
    "Product": {
      "type": "string",
      "description": ""
    },
    "ProductID": {
      "type": "string",
      "description": ""
    },
    "ProductRating": {
      "type": "string",
      "description": ""
    },
    "ProductReview": {
      "type": "string",
      "description": ""
    },
    "ProductURL": {
      "type": "string",
      "description": ""
    },
    "SalePrice": {
      "type": "string",
      "description": ""
    },
    "ShopName": {
      "type": "string",
      "description": ""
    },
    "StoreRating": {
      "type": "string",
      "description": ""
    },
    "StoreReview": {
      "type": "string",
      "description": ""
    },
    "TotalSales": {
      "type": "string",
      "description": ""
    }
  },
  "title": "Etsy Scraper output",
  "description": "Initial output fields derived from the current published implementation. Field descriptions are maintained by Data Center; production field names and types should be refreshed from recent successful runs.",
  "additionalProperties": false
}
```

## Output Example

No verified real input/output examples are currently available.

## API

`POST https://openapi.octoparse.com/api/agentTools/executeTask`

This is the OpenAPI Agent Tools `executeTask` endpoint. Authenticate with a Bearer token.

Request body:

`templateName` is the template slug; `parameters` is a JSON object string whose keys match Input Schema; `taskName`, `idempotencyKey`, and `maxCollectedRows` are optional.

Obtain a token:

```http
POST https://openapi.octoparse.com/token
Content-Type: application/json

{
  "username": "YOUR_USERNAME",
  "password": "YOUR_PASSWORD",
  "grant_type": "password"
}
```

Use `data.access_token` as `Authorization: Bearer <token>`. After starting, poll `getTaskStatus` and export with `exportData`.

No verified real input/output examples are currently available.

## MCP Setup

Connect an MCP-compatible AI client to `https://mcp.octoparse.com` using browser OAuth or an Octoparse API key. Find `etsy-scraper`, inspect its inputs, create a cloud task with the exact Input Schema keys, and export JSON results.

## Machine-readable Resources

- [Template contract](https://www.octoparse.com/templates/etsy-scraper.json)
- [Manifest](https://www.octoparse.com/templates/etsy-scraper-manifest.json)
