# Etsy Product Scraper（by keywords）

Enter keywords on the website to search for results and collect product information from the search results page

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

## Pricing

Current price: **$0.1/1,000 lines**. Billing is based on output rows; an Octoparse subscription may be required.

## 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 web pages.

## Output

The current workflow extracts 8 fields, including `Image_URL`, `Keyword`, `Name`, `Number_of_reviews`, `Price`, `Product_URL`, `Rating`, `Seller`.

## 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 keyword, pageSize, maxItems and start the template in cloud mode.
- **Flexible export:** review and export results as CSV, Excel, or JSON.

## Input

### keyword

Required. earrings hand-made accessories pjs for kids

### pageSize

Optional. Maximum number of pages per keyword, default 3

### maxItems

Optional. How many can be collected at most, with a default of 20000

## How to Use

# Enter Keywords and Collect Product Data

1. **Enter keywords** – Type the keyword(s) you want to search for into the website’s search field.
2. **Run the search** – Submit the keyword(s) so the website loads the search results page.
3. **Collect product information** – Gather the product details shown in the search results on that page.

## 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)
- [Amazon Product Scraper by Keywords](https://www.octoparse.com/template/amazon-produkt-scraper-mit-schluesselwoerter)
- [Etsy Scraper](https://www.octoparse.com/template/etsy-scraper)
- [Etsy Shop Products Scraper](https://www.octoparse.com/template/etsy-shop-products-scraper)

## Input Schema

```json
{
  "title": "Etsy Product Scraper（by keywords） input",
  "description": "Input parameters configured for the current published template version.",
  "type": "object",
  "schemaVersion": 1,
  "additionalProperties": false,
  "properties": {
    "keyword": {
      "title": "keyword",
      "description": "earrings\nhand-made accessories\npjs for kids",
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-octoparse": {
        "apiEnabled": false
      }
    },
    "pageSize": {
      "title": "pageSize",
      "description": "Maximum number of pages per keyword, default 3",
      "type": "integer",
      "x-octoparse": {
        "apiEnabled": false
      }
    },
    "maxItems": {
      "title": "maxItems",
      "description": "How many can be collected at most, with a default of 20000\n",
      "type": "integer",
      "x-octoparse": {
        "apiEnabled": false
      }
    }
  },
  "required": [
    "keyword"
  ]
}
```

## Input JSON Example

Example 1

```json
{
  "keyword": [
    "Kayak fishing tee",
    "Kayak fishing tshirt",
    "Kayak fishing crewneck",
    "Kayak fishing hoodie",
    "Kayak fishing sweatshirt"
  ]
}
```

Example 2

```json
{
  "keyword": [
    "blue crab tee",
    "blue crab tshirt",
    "blue crab crewneck",
    "blue crab hoodie",
    "blue crab sweatshirt"
  ]
}
```

Example 3

```json
{
  "keyword": [
    "sturgeon tee",
    "sturgeon tshirt",
    "sturgeon crewneck",
    "sturgeon hoodie",
    "sturgeon sweatshirt"
  ]
}
```

Example 4

```json
{
  "keyword": [
    "Outdoor tee ",
    "Outdoor tshirt ",
    "Outdoor crewneck ",
    "Outdoor hoodie ",
    "Outdoor sweatshirt"
  ]
}
```

Example 5

```json
{
  "keyword": [
    "Fishing Gear"
  ]
}
```


## Output Schema

```json
{
  "schemaVersion": 1,
  "type": "object",
  "properties": {
    "Image_URL": {
      "type": "string",
      "description": ""
    },
    "Keyword": {
      "type": "string",
      "description": ""
    },
    "Name": {
      "type": "string",
      "description": ""
    },
    "Number_of_reviews": {
      "type": "string",
      "description": ""
    },
    "Price": {
      "type": "string",
      "description": ""
    },
    "Product_URL": {
      "type": "string",
      "description": ""
    },
    "Rating": {
      "type": "string",
      "description": ""
    },
    "Seller": {
      "type": "string",
      "description": ""
    }
  },
  "title": "Etsy Product Scraper（by keywords） 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

Example 1

```json
{
  "Image_URL": "https://i.etsystatic.com/34827511/r/il/ce0647/8722315370/il_794xN.8722315370_7yrf.jpg",
  "Keyword": "Kayak fishing sweatshirt",
  "Name": "They Call Me 007 Fishing Sweatshirt, Zero Bites Kayak Angler Hoodie",
  "Number_of_reviews": "465",
  "Price": "$22.20",
  "Product_URL": "https://www.etsy.com/listing/4597577421/they-call-me-007-fishing-sweatshirt-zero",
  "Rating": "4.6",
  "Seller": "OccSweatshirt"
}
```

Example 2

```json
{
  "Image_URL": "https://i.etsystatic.com/12394674/r/il/8d416c/1492853696/il_794xN.1492853696_hbq3.jpg",
  "Keyword": "blue crab tee",
  "Name": "Southern Attitude Salty Deal With It Crab Indigo Blue Short Sleeve T-Shirt",
  "Number_of_reviews": "912",
  "Price": "$21.95",
  "Product_URL": "https://www.etsy.com/listing/593687731/southern-attitude-salty-deal-with-it",
  "Rating": "4.9",
  "Seller": "SouthernAttitude2015"
}
```

Example 3

```json
{
  "Image_URL": "https://i.etsystatic.com/14649906/r/il/f6e5cf/6623951139/il_794xN.6623951139_l3uw.jpg",
  "Keyword": "sturgeon hoodie",
  "Name": "7 Directions of Service Sturgeon Hoodie",
  "Number_of_reviews": "384",
  "Price": "$70.85",
  "Product_URL": "https://www.etsy.com/listing/1860288145/7-directions-of-service-sturgeon-hoodie",
  "Rating": "4.8",
  "Seller": "MosnukheNomp"
}
```

Example 4

```json
{
  "Image_URL": "https://i.etsystatic.com/55913692/r/il/a5c9a6/8351143127/il_794xN.8351143127_dubo.jpg",
  "Keyword": "Outdoor tee",
  "Name": "National Parks Shirt, US National Park Gifts, Camping Gift, Nature Lover, Hiking Shirt, Outdoor Lover, Adventure Shirt, Travel Lover Gift",
  "Number_of_reviews": "121",
  "Price": "$37.32",
  "Product_URL": "https://www.etsy.com/listing/4544769975/national-parks-shirt-us-national-park",
  "Rating": "4.9",
  "Seller": "NoonMoonApparel"
}
```

Example 5

```json
{
  "Image_URL": "https://i.etsystatic.com/33380837/r/il/c2a621/8698471030/il_794xN.8698471030_ju8v.jpg",
  "Keyword": "Fishing Gear",
  "Name": "Personalized Cooler Chair Embroidery Backpack, Custom Outdoor Lover Gift, Fishing Gifts for Men",
  "Number_of_reviews": "13.5k",
  "Price": "$37.60",
  "Product_URL": "https://www.etsy.com/listing/4478531663/personalized-cooler-chair-embroidery",
  "Rating": "4.9",
  "Seller": "FortisFinds"
}
```

## 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`.

```json
{
  "templateName": "Etsy_Product_Scraper",
  "taskName": "Etsy Product Scraper（by keywords）",
  "parameters": "{\"keyword\":[\"Kayak fishing tee\",\"Kayak fishing tshirt\",\"Kayak fishing crewneck\",\"Kayak fishing hoodie\",\"Kayak fishing sweatshirt\"]}"
}
```

## Python Example

```python
import json
import requests

OPENAPI_BASE = "https://openapi.octoparse.com"
ACCESS_TOKEN = "YOUR_ACCESS_TOKEN"

parameters = json.loads("{\"keyword\":[\"Kayak fishing tee\",\"Kayak fishing tshirt\",\"Kayak fishing crewneck\",\"Kayak fishing hoodie\",\"Kayak fishing sweatshirt\"]}")

response = requests.post(
    f"{OPENAPI_BASE}/api/agentTools/executeTask",
    headers={
        "Authorization": f"Bearer {ACCESS_TOKEN}",
        "Content-Type": "application/json",
    },
    json={
        "templateName": "Etsy_Product_Scraper",
        "taskName": "Etsy Product Scraper（by keywords）",
        "parameters": json.dumps(parameters, ensure_ascii=False),
    },
    timeout=60,
)
print(response.status_code)
print(response.json())
```

## HTTP/cURL Example

```bash
curl -X POST "https://openapi.octoparse.com/api/agentTools/executeTask" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "templateName": "Etsy_Product_Scraper",
  "taskName": "Etsy Product Scraper（by keywords）",
  "parameters": "{\"keyword\":[\"Kayak fishing tee\",\"Kayak fishing tshirt\",\"Kayak fishing crewneck\",\"Kayak fishing hoodie\",\"Kayak fishing sweatshirt\"]}"
}
JSON
```

## MCP Setup

Connect an MCP-compatible AI client to `https://mcp.octoparse.com` using browser OAuth or an Octoparse API key. Find `Etsy_Product_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_product_scraper.json)
- [Manifest](https://www.octoparse.com/templates/etsy_product_scraper-manifest.json)
