Goose-skills orthogonal-ebay-search

Search eBay listings - find items, auctions, deals, and compare prices

install
source · Clone the upstream repo
git clone https://github.com/gooseworks-ai/goose-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/gooseworks-ai/goose-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/capabilities/orthogonal-ebay-search" ~/.claude/skills/gooseworks-ai-goose-skills-orthogonal-ebay-search && rm -rf "$T"
manifest: skills/capabilities/orthogonal-ebay-search/SKILL.md
source content

eBay 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 eBay for products, auctions, and deals.

When to Use

  • User wants to find items on eBay
  • User asks about auctions
  • User wants to compare prices on eBay
  • User looking for used or vintage items

How It Works

Uses the SearchAPI eBay Search engine to query eBay listings.

Usage

Basic 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":"ebay_search","q":"vintage watch"}}'
<details> <summary>curl equivalent</summary>
curl -X POST "https://api.orth.sh/v1/run" \

  -H "Content-Type: application/json" \
  -d '{"api":"searchapi","path":"/api/v1/search","query":{"engine":"ebay_search","q":"vintage watch"}}'
</details>

Parameters

  • engine (required) - Must be
    ebay_search
  • q (required) - Search query
  • page - Page number for pagination

Response

Top-level keys:

search_metadata
,
search_parameters
,
search_information
,
categories
,
organic_results
,
related_searches
,
pagination
.

search_information
:
total_results
(integer),
query_displayed
,
sorted_by
.

Each item in

organic_results
array:

  • position (integer) - Result rank
  • item_id (string) - eBay item ID
  • title (string) - Listing title
  • link (string) - Listing page URL
  • condition (string) - "Brand New", "Pre-Owned", "Refurbished", etc.
  • price (string) - Display price (e.g., "$199.99")
  • extracted_price (number) - Numeric price for comparison
  • original_price / extracted_original_price - Pre-discount price (if discounted)
  • shipping (string) - Shipping cost text (e.g., "Free delivery")
  • extracted_shipping (number) - Numeric shipping cost
  • buying_format (string) - "Buy It Now", "or Best Offer", or bid info with time left
  • rating (number) - Seller rating (if available)
  • reviews (integer) - Review count (if available)
  • extensions (array) - Tags like brand, material, location, "Free returns", "Last one"
  • thumbnail (string) - Image URL
  • tag (string) - Special badges like "NEW LOW PRICE" (if applicable)

Pagination: Use

page=2
,
page=3
, etc. for more results. Response includes
pagination.next
URL.

Examples

User: "Find vintage watches on eBay"

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":"ebay_search","q":"vintage watch"}}'

User: "Search eBay for retro gaming consoles"

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":"ebay_search","q":"retro gaming console"}}'

User: "Find rare vinyl records"

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":"ebay_search","q":"rare vinyl records"}}'

Error Handling

  • 400 - Invalid engine name or missing
    q
    parameter
  • 401 - Invalid API key
  • 429 - Rate limit — wait and retry
  • Empty
    organic_results
    means no listings found — try broader terms
  • Use separate
    -q
    flags if
    &
    in query string causes issues:
    -q 'engine=ebay_search' -q 'q=vintage watch'