Amazon Product Search

Search Amazon products - find items, compare prices, read reviews

How to use it

  1. Hit Copy the whole skill.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit gooseworks-ai/goose-skills/skills/research-tools/capabilities/amazon-search#main ~/.claude/skills/amazon-search

For one project only, change the path to .claude/skills/amazon-search.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text129 lines
amazon-search/SKILL.md129 lines4.3 KBpushed 96d agoRawView on GitHub

Amazon Product Search

Setup

Read your credentials from ~/.gooseworks/credentials.json:

export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")

If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login

All endpoints use Bearer auth: -H "Authorization: Bearer $GOOSEWORKS_API_KEY"

Search for products on Amazon. Find items by keyword, category, or criteria.

When to Use

  • User wants to find a product on Amazon
  • User asks "find me a [product] on Amazon"
  • User wants to compare prices
  • User needs product recommendations

How It Works

Uses the SearchAPI Amazon Search engine to query Amazon's catalog.

Usage

Basic Product Search

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"searchapi","path":"/api/v1/search","query":{"engine":"amazon_search","q":"wireless earbuds"}}'

curl equivalent

curl -X POST "https://api.orth.sh/v1/run" \

  -H "Content-Type: application/json" \
  -d '{"api":"searchapi","path":"/api/v1/search","query":{"engine":"amazon_search","q":"wireless earbuds"}}'

Search with Category

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"searchapi","path":"/api/v1/search","query":{"engine":"amazon_search","q":"laptop","category_id":"electronics"}}'

Parameters

  • engine (required) - Must be amazon_search
  • q (required) - Search query
  • category_id - Amazon category (electronics, books, etc.)
  • page - Page number for pagination

Response

Top-level keys: search_metadata, search_parameters, search_information, organic_results, filters, pagination.

Each item in organic_results array:

  • position (integer) - Result rank
  • asin (string) - Amazon product ID
  • title (string) - Product name
  • link (string) - Product page URL
  • image (string) - Product thumbnail URL
  • price (string) - Display price (e.g., "$69.99")
  • extracted_price (number) - Numeric price for comparison
  • original_price / extracted_original_price - Pre-discount price (if on sale)
  • currency (string) - Currency code (e.g., "USD")
  • rating (number) - Star rating (0-5)
  • reviews (integer) - Number of reviews
  • is_prime (boolean) - Prime eligible
  • is_best_seller / is_amazon_choice (boolean) - Badge flags
  • delivery (string) - Delivery estimate text

Pagination: Use page=2, page=3, etc. for more results.

Examples

User: "Find wireless earbuds on Amazon"

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"searchapi","path":"/api/v1/search","query":{"engine":"amazon_search","q":"wireless earbuds"}}'

User: "Search for laptops under $500"

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"searchapi","path":"/api/v1/search","query":{"engine":"amazon_search","q":"laptop under 500"}}'

User: "Find highly rated coffee makers"

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"searchapi","path":"/api/v1/search","query":{"engine":"amazon_search","q":"coffee maker best rated"}}'

Error Handling

  • 400 - Invalid engine name or missing q parameter
  • 401 - Invalid API key
  • 429 - Rate limit — wait and retry
  • Empty organic_results array means no products matched the query — try broader search terms
  • Use separate -q flags if & in query string causes issues: -q 'engine=amazon_search' -q 'q=wireless earbuds'
1---
2name: amazon-search
3description: Search Amazon products - find items, compare prices, read reviews
4source: orthogonal
5---
6 
7 
8# Amazon Product Search
9 
10## Setup
11 
12Read your credentials from ~/.gooseworks/credentials.json:
13```bash
14export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
15export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
16```
17 
18If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login`
19 
20All endpoints use Bearer auth: `-H "Authorization: Bearer $GOOSEWORKS_API_KEY"`
21 
22 
23Search for products on Amazon. Find items by keyword, category, or criteria.
24 
25## When to Use
26 
27- User wants to find a product on Amazon
28- User asks "find me a [product] on Amazon"
29- User wants to compare prices
30- User needs product recommendations
31 
32## How It Works
33 
34Uses the SearchAPI Amazon Search engine to query Amazon's catalog.
35 
36## Usage
37 
38### Basic Product Search
39 
40```bash
41curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
42 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
43 -H "Content-Type: application/json" \
44 -d '{"api":"searchapi","path":"/api/v1/search","query":{"engine":"amazon_search","q":"wireless earbuds"}}'
45```
46 
47<details>
48<summary>curl equivalent</summary>
49 
50```bash
51curl -X POST "https://api.orth.sh/v1/run" \
52 
53 -H "Content-Type: application/json" \
54 -d '{"api":"searchapi","path":"/api/v1/search","query":{"engine":"amazon_search","q":"wireless earbuds"}}'
55```
56</details>
57 
58### Search with Category
59 
60```bash
61curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
62 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
63 -H "Content-Type: application/json" \
64 -d '{"api":"searchapi","path":"/api/v1/search","query":{"engine":"amazon_search","q":"laptop","category_id":"electronics"}}'
65```
66 
67## Parameters
68 
69- **engine** (required) - Must be `amazon_search`
70- **q** (required) - Search query
71- **category_id** - Amazon category (electronics, books, etc.)
72- **page** - Page number for pagination
73 
74## Response
75 
76Top-level keys: `search_metadata`, `search_parameters`, `search_information`, `organic_results`, `filters`, `pagination`.
77 
78Each item in **`organic_results`** array:
79- **position** (integer) - Result rank
80- **asin** (string) - Amazon product ID
81- **title** (string) - Product name
82- **link** (string) - Product page URL
83- **image** (string) - Product thumbnail URL
84- **price** (string) - Display price (e.g., "$69.99")
85- **extracted_price** (number) - Numeric price for comparison
86- **original_price** / **extracted_original_price** - Pre-discount price (if on sale)
87- **currency** (string) - Currency code (e.g., "USD")
88- **rating** (number) - Star rating (0-5)
89- **reviews** (integer) - Number of reviews
90- **is_prime** (boolean) - Prime eligible
91- **is_best_seller** / **is_amazon_choice** (boolean) - Badge flags
92- **delivery** (string) - Delivery estimate text
93 
94**Pagination**: Use `page=2`, `page=3`, etc. for more results.
95 
96## Examples
97 
98**User:** "Find wireless earbuds on Amazon"
99```bash
100curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
101 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
102 -H "Content-Type: application/json" \
103 -d '{"api":"searchapi","path":"/api/v1/search","query":{"engine":"amazon_search","q":"wireless earbuds"}}'
104```
105 
106**User:** "Search for laptops under $500"
107```bash
108curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
109 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
110 -H "Content-Type: application/json" \
111 -d '{"api":"searchapi","path":"/api/v1/search","query":{"engine":"amazon_search","q":"laptop under 500"}}'
112```
113 
114**User:** "Find highly rated coffee makers"
115```bash
116curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
117 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
118 -H "Content-Type: application/json" \
119 -d '{"api":"searchapi","path":"/api/v1/search","query":{"engine":"amazon_search","q":"coffee maker best rated"}}'
120```
121 
122## Error Handling
123 
124- **400** - Invalid engine name or missing `q` parameter
125- **401** - Invalid API key
126- **429** - Rate limit — wait and retry
127- Empty `organic_results` array means no products matched the query — try broader search terms
128- Use separate `-q` flags if `&` in query string causes issues: `-q 'engine=amazon_search' -q 'q=wireless earbuds'`
129 

Discussion