Plugin Boutique APIpluginboutique.com ↗
Access Plugin Boutique product listings, brand catalogs, deals, free plugins, and detailed specs via a structured REST API with 9 endpoints.
What is the Plugin Boutique API?
The Plugin Boutique API provides 9 endpoints for querying audio plugin products, brands, deals, and detailed product specs from pluginboutique.com. The get_product_details endpoint returns structured fields including description, features, system requirements (Mac and Windows arrays), manufacturer, rating, and current price — all addressable by product URL. Listing endpoints support pagination via has_more and cover categories, bundles, new arrivals, and free products.
curl -X GET 'https://api.parse.bot/scraper/269682b9-a9c1-4d93-982c-807f5616ec62/search_products?page=1&query=reverb' \ -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 pluginboutique-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.plugin_boutique_api import PluginBoutique, Sort
pb = PluginBoutique()
# Search for reverb plugins sorted by rating
for product in pb.products.by_category(category_id="2", category_name="Effects", sort=Sort.RATING):
print(product.name, product.price, product.rating)
print(" Brand:", product.brand.name)
print(" Category:", product.category.name)
# Get detailed info for a search result
for plugin in pb.products.search(query="compressor", limit=3):
detail = plugin.details()
print(detail.name, detail.manufacturer, detail.price)
print(" Description:", detail.description[:100])
for feature in detail.features[:2]:
print(" -", feature)
print(" Mac reqs:", detail.system_requirements.mac)
# Browse brands and their products
for brand in pb.brands.list(limit=5):
print(brand.name, brand.id)
for bp in brand.products(limit=2):
print(" ", bp.name, bp.price)
# Check current deals
for deal in pb.deals.list(limit=10):
print(deal.name, deal.price, deal.brand.name)
Full-text search over Plugin Boutique's product catalog. Returns paginated product listings matching the query keyword against product names and categories. Each result includes basic product info (name, brand, category, price, rating). Pagination via page number.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| queryrequired | string | Search keyword (e.g., 'reverb', 'synth', 'compressor'). |
{
"type": "object",
"fields": {
"page": "current page number",
"has_more": "boolean indicating if more pages are available",
"products": "array of product objects with id, name, url, brand, category, price, and rating"
},
"sample": {
"data": {
"page": 1,
"has_more": false,
"products": [
{
"id": "915",
"url": "https://www.pluginboutique.com/product/2-Effects/17-Reverb/915-Oxford-Reverb",
"name": "Oxford Reverb",
"brand": {
"url": "https://www.pluginboutique.com/manufacturers/63-Sonnox",
"name": "Sonnox"
},
"price": "$79.00 (75% off)",
"rating": "4.8",
"category": {
"url": "https://www.pluginboutique.com/categories/17-Reverb",
"name": "Reverb"
}
}
]
},
"status": "success"
}
}About the Plugin Boutique API
Product Search and Category Browsing
The search_products endpoint accepts a query string (e.g., 'reverb', 'synth') and returns paginated arrays of product objects, each with id, name, url, brand, category, price, and rating. The list_products_by_category endpoint extends this with a category_id parameter — '1' for Instruments, '2' for Effects, '3' for Studio Tools, '81' for Bundles — plus optional boolean flags for free, deals, and bundles, and a sort parameter accepting values like hot, newest, price_asc, and price_desc.
Product Details and Brand Data
get_product_details takes a full product page URL and returns a richer response: a features array, a description string, a manufacturer field, and a system_requirements object with separate Mac and Windows arrays of requirement strings. This endpoint is the primary source for per-plugin technical data. list_brands returns the full catalog of manufacturers with id, name, and url, and get_brand_products then accepts a brand_id to paginate that brand's product listings.
Deals, Free Plugins, Bundles, and New Arrivals
Four convenience endpoints address common discovery workflows: list_deals returns currently discounted products; list_free_products returns plugins priced at zero; list_bundles returns bundle offerings from the Bundles category; and list_new_arrivals returns the most recently added products sorted by newest. All four are paginated using the shared page input and has_more response field, making it straightforward to iterate through full result sets.
The Plugin Boutique API is a managed, monitored endpoint for pluginboutique.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when pluginboutique.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 pluginboutique.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?+
- Build a plugin deal tracker that polls
list_dealsand alerts users when discounted products appear. - Populate a plugin database with system requirements by iterating product URLs through
get_product_details. - Compare plugin ratings across categories using
list_products_by_categorywith theratingsort option. - Generate a brand directory page by fetching all manufacturers from
list_brandsand linking to their catalogs. - Surface free plugin recommendations using
list_free_productsfiltered and paginated for a newsletter or app. - Monitor new plugin releases by polling
list_new_arrivalsand checking for previously unseen productidvalues. - Build a bundle comparison tool using
list_bundlesand enriching each result withget_product_detailsdata.
| 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 Plugin Boutique have an official developer API?+
What does `get_product_details` return that the listing endpoints do not?+
get_product_details returns a features array, a full description string, a manufacturer field, and a system_requirements object split into Mac and Windows arrays. Listing endpoints return only summary fields: id, name, url, brand, category, price, and rating.Does `list_new_arrivals` cover all product categories, or only Effects?+
list_new_arrivals returns results from the Effects category sorted by newest. Instruments, Studio Tools, and other categories are not included in this endpoint. You can fork the API on Parse and revise it to query list_products_by_category with the relevant category_id and sort=newest to cover additional categories.Are user reviews or review text available through any endpoint?+
rating field in product objects is a numeric string summary only. You can fork the API on Parse and revise it to add an endpoint that extracts per-review data from a product's page.How does pagination work across listing endpoints?+
page parameter and return a has_more boolean. When has_more is true, increment page by one and repeat the request. There is no total count field, so you continue paginating until has_more is false.