Sweetwater APIsweetwater.com ↗
Search Sweetwater's catalog of musical instruments and audio gear. Get pricing, availability, ratings, brand filters, and autocomplete suggestions via 2 endpoints.
What is the Sweetwater API?
The Sweetwater API gives developers access to Sweetwater's catalog of musical instruments, audio equipment, and accessories through 2 endpoints. The search_products endpoint returns structured product data including price, retail price, condition, ratings, stock availability, and image URLs, with filtering by brand, category, and sort order. The get_autocomplete endpoint returns ranked search suggestions for partial queries.
curl -X GET 'https://api.parse.bot/scraper/cc4608df-e0c4-4afc-ac6a-8c8cde480aff/search_products?page=0&brand=Fender&query=guitar&sort_by=relevance&category=Guitars&hits_per_page=5&in_stock_only=False' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace sweetwater-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.sweetwater_product_search_api import Sweetwater, Product, AutocompleteResult, Sort
sweetwater = Sweetwater()
# Get autocomplete suggestions for a partial query
result = sweetwater.autocompleteresults.get(query="drum", max_results=5)
print(result.query, result.count)
for suggestion in result.suggestions:
print(suggestion)
# Search for products sorted by rating, filtered to in-stock only
for product in sweetwater.products.search(query="microphone", sort_by=Sort.RATING, in_stock_only=True, limit=5):
print(product.name, product.brand, product.price, product.rating_average, product.in_stock)
Full-text search over Sweetwater's product catalog. Supports filtering by brand, category, and stock availability, plus sorting by price or rating. Paginates via a zero-based page index. Each product carries final/retail/catalog pricing, stock and shipping status, average rating, and category membership. The response also surfaces available brands and categories for the current query, enabling progressive filter refinement.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (0-indexed) |
| brand | string | Filter by brand name (e.g., 'Fender', 'Shure', 'Yamaha') |
| queryrequired | string | Search query (e.g., 'fender stratocaster', 'shure sm7b', 'keyboard') |
| sort_by | string | Sort order for results |
| category | string | Filter by top-level category (e.g., 'Guitars', 'Studio & Recording', 'Keyboards & Synthesizers') |
| hits_per_page | integer | Number of results per page (1-100) |
| in_stock_only | boolean | Only return in-stock products |
{
"type": "object",
"fields": {
"query": "search query string",
"products": "array of product objects with pricing, availability, rating, and category info",
"total_hits": "total number of matching products",
"total_pages": "total number of pages available",
"current_page": "current page number (0-indexed)",
"hits_per_page": "number of results per page",
"available_brands": "array of brand name strings available for filtering",
"available_categories": "array of category name strings available for filtering"
},
"sample": {
"data": {
"query": "guitar",
"products": [
{
"url": "https://www.sweetwater.com/store/detail/GLXD16p--shure-glxd16-digital-wireless-guitar-pedal-system",
"name": "GLXD16+ Digital Wireless Guitar Pedal System",
"brand": "Shure",
"price": 599,
"in_stock": true,
"condition": "New",
"image_url": "https://media.sweetwater.com/m/products/image/790a6ce3afld3wCXNB8TMT3fcoa8UU6ZnvvghOsH.jpg",
"object_id": "GLXD16p",
"categories": [
"Live Sound & Lighting"
],
"description": "GLXD6+ Guitar Pedal Receiver, GLXD1+ Bodypack, and WA305 Guitar Cable",
"is_available": true,
"rating_count": 87,
"retail_price": 749,
"catalog_price": 599,
"free_shipping": true,
"rating_average": 4.5
}
],
"total_hits": 27577,
"total_pages": 1000,
"current_page": 0,
"hits_per_page": 5,
"available_brands": [
"Fender",
"PRS",
"Ibanez"
],
"available_categories": [
"Guitars",
"Bass",
"Accessories"
]
},
"status": "success"
}
}About the Sweetwater API
Product Search
The search_products endpoint accepts a required query string and several optional filters. You can narrow results by brand (e.g., 'Fender', 'Shure'), category (e.g., 'Guitars', 'Keyboards & Synthesizers'), and set in_stock_only: true to exclude unavailable items. Sorting is controlled via sort_by, which accepts 'price_asc', 'price_desc', 'rating', or an empty string for relevance ordering. Pagination is 0-indexed using page and hits_per_page (1–100 results per page).
Product Response Fields
Each product object in the products array includes object_id, name, brand, description, url, image_url, price, retail_price, catalog_price, and condition. The response also returns total_hits, total_pages, current_page, and hits_per_page for pagination, plus available_brands and available_categories arrays you can use to populate filter UI elements dynamically.
Autocomplete
The get_autocomplete endpoint takes a partial query string and an optional max_results cap (1–20) and returns a suggestions array of matching search terms alongside a count field. This is useful for building search-as-you-type interfaces that surface relevant product names and categories before a full search is executed.
The Sweetwater API is a managed, monitored endpoint for sweetwater.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when sweetwater.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official sweetwater.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Compare
pricevsretail_priceacross guitar brands to identify discount patterns - Build an in-stock alert tool using
in_stock_onlyfiltering on a target product query - Populate a music gear price comparison page using
price,brand, andimage_urlfields - Drive a search autocomplete widget using the
get_autocompleteendpoint withmax_results - Aggregate
available_brandsandavailable_categoriesto build a faceted browsing UI - Track new or used gear availability by checking the
conditionfield across paginated results - Pull product URLs and descriptions for affiliate content or gear recommendation tools
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Sweetwater have an official public developer API?+
What product fields does `search_products` return for each result?+
object_id, name, brand, description, url, image_url, price, retail_price, catalog_price, and condition. The response wrapper also includes total_hits, total_pages, available_brands, and available_categories for pagination and filter UI support.Does the API return individual product reviews or review text?+
search_products endpoint returns aggregate product data including pricing and availability but does not expose individual user review text or review counts per product. You can fork this API on Parse and revise it to add an endpoint that retrieves per-product review content.How does pagination work in `search_products`?+
page to the desired page number starting from 0, and use hits_per_page (between 1 and 100) to control page size. The response returns total_hits and total_pages so you can determine how many pages exist for a given query.Can I retrieve a specific product by its ID or SKU?+
search_products and autocomplete via get_autocomplete, but does not expose a direct product-lookup endpoint by SKU, object ID, or URL. You can fork this API on Parse and revise it to add a dedicated product detail endpoint.