querystringrequired
Search keywords, e.g. "cover letter template". For an Etsy /market page, pass its words: https://www.etsy.com/market/habit_tracker_2027 is the query "habit tracker 2027".
https://api.sandbase.ai/v1/api/etsy/searchSearch Etsy listings by keyword, the same results an Etsy search or /market page shows, with optional sort, price range and page, and get title, price, original price, image, shop, rating and ad flag for each listing in one normalized response.
Your output will appear here
Complete the inputs, then click Run.
Search Etsy listings by keyword, the same results an Etsy search or /market page shows, with optional sort, price range and page, and get title, price, original price, image, shop, rating and ad flag for each listing in one normalized response.
curl -X POST "https://api.sandbase.ai/v1/run" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "etsy/search", "query": "cover letter template"}'
The result is returned in outputs[0].data. Lookups that find nothing fail with a not-found error.
| Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search keywords, e.g. "cover letter template". For an Etsy /market page, pass its words: https://www.etsy.com/market/habit_tracker_2027 is the query "habit tracker 2027". |
maxPrice | number | No | Optional maximum listing price, in USD. |
minPrice | number | No | Optional minimum listing price, in USD. |
page | integer | No | 1-based results page. Each page is billed as one request. Default 1. |
requireFields | array | No | Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example rating, and it is served only by a source that returns every one of |
sort | string | No | Result order: relevance (Etsy's own order, the default), newest, price_low, or price_high. One of: relevance, newest, price_low, price_high. |
Billed at the actual cost of each call, about $0.0009 per request. A call can cost more when the first data source fails and another one answers. Failed calls and lookups that find nothing are not charged.
Start building
Platform API endpoint with unified authentication and usage tracking.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/api/etsy/search" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"page": 1,
"sort": "relevance",
"query": "cover letter template"
}
SANDBASE_JSON
)
printf '%s\n' "$result"Set your SandBase API key in your server environment. Requests use Bearer authentication.
export SANDBASE_API_KEY="YOUR_API_KEY"Keep your key on the server. Do not expose it in browser code.
querystringrequiredSearch keywords, e.g. "cover letter template". For an Etsy /market page, pass its words: https://www.etsy.com/market/habit_tracker_2027 is the query "habit tracker 2027".
pageinteger1-based results page. Each page is billed as one request.
Default: 1
sortstringResult order: relevance (Etsy's own order, the default), newest, price_low, or price_high.
Default: "relevance"
Possible values: relevance, newest, price_low, price_high
maxPricenumberOptional maximum listing price, in USD.
minPricenumberOptional minimum listing price, in USD.
requireFieldsarrayOptional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `rating`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. Naming a combination that no single source returns together is refused as invalid input, with no charge.
Saved example response for this API; no live request is made when viewing it.
No saved response has been published. Run the API in Playground to inspect its response.
Explore more
| API | Price | Response |
|---|---|---|
Etsy SearchThis API Etsy | From $0.0009 per call | JSON |
Etsy | From $0.00187 per call | JSON |
Etsy | From $0.0009 per call | JSON |
Etsy | From $0.0009 per call | JSON |
Questions
Send a POST request to https://api.sandbase.ai/v1/api/etsy/search with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.
From $0.0009 per call, billed from your SandBase balance. You are only charged for calls you make; there is no subscription.
Required: query (string). Optional: page (integer), sort (one of relevance, newest, price_low, price_high), maxPrice (number), minPrice (number) and requireFields (array). The Parameters table and the Playground on this page list every field.
A JSON response returned in the same HTTP request (synchronous).
No. Etsy Search runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for Etsy API access separately.