Discover/Musiciansfriend API
live

Musiciansfriend APImusiciansfriend.com

Search Musician's Friend catalog, browse categories, fetch product details, check stock, and retrieve daily deals via 6 structured API endpoints.

Endpoint health
verified 3d ago
search_products
get_product_availability
get_stupid_deal_of_the_day
get_category_products
get_product_details
6/6 passing latest checkself-healing
Endpoints
6
Updated
26d ago

What is the Musiciansfriend API?

The Musician's Friend API provides 6 endpoints for querying the full instrument and gear catalog, including keyword search via search_products, category browsing, product detail lookup, facet-based filtering, stock availability checks, and the daily 'Stupid Deal of the Day' promotion. Responses include structured fields like price, original_price, brand, rating, review_count, specifications, and delivery estimates, covering everything needed to build price-tracking or product-discovery tools against Musician's Friend's catalog.

Try it
Sort order for results.
Number of results per page.
Search keyword.
Result offset for pagination.
api.parse.bot/scraper/a822d314-b462-4b1b-bd66-2d7500fb4406/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/a822d314-b462-4b1b-bd66-2d7500fb4406/search_products?sort=r&limit=5&query=guitar&offset=0' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 musiciansfriend-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.

"""Musician's Friend SDK — search, browse, and inspect musical instruments."""
from parse_apis.musician_s_friend_api import MusiciansFriend, Sort, ProductNotFound

client = MusiciansFriend()

# Search for guitars sorted by price low-to-high
for listing in client.productlistings.search(query="bass guitar", sort=Sort.PRICE_LOW_TO_HIGH, limit=3):
    print(listing.name, listing.current_price, listing.condition)

# Browse a brand category (Gallien-Krueger = facet 200798)
listing = client.productlistings.browse(category_id="200798", limit=1).first()
if listing:
    # Drill into full product details
    detail = listing.details()
    print(detail.details.name, detail.details.brand, detail.details.price)
    print(detail.category_info.dept, detail.category_info.category)

# Check availability for the SKU
if listing:
    avail = client.availabilities.get(sku_id=listing.sku)
    print(avail.sku_id, avail.free_shipping, avail.availability_message)

# Today's deal of the day
for deal in client.deals.list(limit=3):
    print(deal.name, deal.price, deal.savings, deal.discount_percentage)

# Typed error handling for a non-existent product
try:
    client.productlistings.search(query="nonexistent_xyz_12345", limit=1).first()
except ProductNotFound as exc:
    print(f"Product not found: {exc.product_id}")

print("exercised: productlistings.search / productlistings.browse / details / availabilities.get / deals.list")
All endpoints · 6 totalmissing one? ·

Full-text search over Musician's Friend product catalog. Returns paginated product listings matching the query keyword, ordered by the chosen sort. Each result includes pricing, condition, and ratings. Pagination via offset; total_count gives the full result set size.

Input
ParamTypeDescription
sortstringSort order for results.
limitintegerNumber of results per page.
queryrequiredstringSearch keyword.
offsetintegerResult offset for pagination.
Response
{
  "type": "object",
  "fields": {
    "query": "search keyword echoed back",
    "products": "array of product objects with name, product_id, sku, url, image, current_price, original_price, savings, condition, rating, review_count, is_onsale, price_drop",
    "total_count": "total number of matching products as a string, or null"
  },
  "sample": {
    "data": {
      "query": "guitar",
      "products": [
        {
          "sku": "site1skuL79036000002000",
          "url": "https://www.musiciansfriend.com/guitars/epiphone-les-paul-traditional-pro-iv-limited-edition-electric-guitar-/l79036000002000?rNtt=guitar&amp;index=1",
          "name": "Epiphone Les Paul Traditional Pro IV Limited-Edition Electric Guitar -",
          "image": "https://media.musiciansfriend.com/is/image/MMGS7/Les-Paul-Traditional-Pro-IV-Limited-Edition-Electric-Guitar--Worn-Ebony/L79036000002000-00-220x220.jpg",
          "rating": "10",
          "savings": "$1.00 (0%)",
          "condition": "New",
          "is_onsale": false,
          "price_drop": false,
          "product_id": "site1prodL79036",
          "review_count": "42",
          "current_price": "549.0",
          "original_price": null
        }
      ],
      "total_count": "63492"
    },
    "status": "success"
  }
}

About the Musiciansfriend API

Search and Browse

The search_products endpoint accepts a required query string plus optional sort, limit, and offset parameters for pagination. It returns a products array with fields including name, product_id, sku, url, image, price, original_price, brand, rating, and review_count, alongside a total_count for the full result set. The sort parameter accepts four values: r (relevance), bS (best sellers), pHL (price high to low), and pLH (price low to high).

Category and Facet Filtering

get_category_products browses by a category_id (the N parameter value, e.g. '200798'), returning products, a categories array of subcategories with display names and result counts, and a facets array for further filtering. The filter_products endpoint accepts space-separated facet_ids to combine filters — for example, combining a brand facet ID with a condition facet ID narrows results to used gear from a specific brand. Both endpoints support the same sort, limit, and offset pagination controls.

Product Details and Availability

get_product_details takes a product_id in the format site1prod followed by an alphanumeric code and returns a details object with stock status, UPC, and SKU info; a description string; category_info with dept, category, and subcategory; and a specifications key-value object for technical attributes. get_product_availability checks real-time stock for a specific sku_id, returning is_eligible, free_shipping, delivery_date as a Unix timestamp in milliseconds, and an availability_message HTML string with a delivery estimate. Availability is calculated against a default shipping destination of ZIP code 10001.

Deals

get_stupid_deal_of_the_day requires no inputs and returns a deals array with fields including name, sku, product_id, price, regular_price, savings, discount_percentage, url, image, rating, and review_count. This endpoint reflects whatever promotion is currently live on the site.

Reliability & maintenanceVerified

The Musiciansfriend API is a managed, monitored endpoint for musiciansfriend.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when musiciansfriend.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 musiciansfriend.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.

Last verified
3d ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track price drops on instruments by polling search_products and comparing price vs. original_price over time.
  • Build a gear comparison tool using get_product_details specifications fields across multiple product IDs.
  • Monitor the daily deal via get_stupid_deal_of_the_day to alert users when discount_percentage exceeds a threshold.
  • Check shipping eligibility and delivery_date estimates for a SKU before surfacing it in a checkout flow.
  • Filter used or open-box inventory by combining condition facet IDs in filter_products.
  • Enumerate a full brand catalog by passing a brand facet ID to get_category_products and paginating with offset.
  • Aggregate review_count and rating data from search results to rank products by community reception.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Musician's Friend have an official public developer API?+
Musician's Friend does not publish a public developer API or list one in their developer documentation. This Parse API is the structured way to access their catalog data programmatically.
What does get_product_availability return, and what ZIP code does it use?+
It returns is_eligible (boolean), free_shipping (boolean), delivery_date (Unix timestamp in milliseconds), and availability_message (an HTML string with the delivery estimate). Availability is calculated using a default shipping destination of ZIP code 10001 (New York, NY). Custom ZIP code input is not currently supported; you can fork the API on Parse and revise it to add a zip_code parameter.
How does facet filtering work with filter_products vs. get_category_products?+
filter_products accepts a space-separated facet_ids string, letting you combine multiple facets in one request — for instance, a brand facet ID and a condition facet ID together. get_category_products takes a single category_id and returns subcategories and facets you can use to discover valid facet IDs for subsequent filter_products calls.
Does the API expose seller marketplace listings or third-party used gear listings?+
The API covers Musician's Friend's own catalog, including condition fields that can reflect used or open-box items, but it does not expose third-party marketplace seller listings separately (as seen on platforms like Reverb). You can fork the API on Parse and revise it to add an endpoint targeting marketplace or used-gear-specific data sources.
Are product reviews and review text accessible through the API?+
The API surfaces rating and review_count fields on product objects but does not return individual review text or reviewer details. The covered endpoints focus on catalog, pricing, and availability data. You can fork the API on Parse and revise it to add a dedicated reviews endpoint returning individual review content.
Page content last updated . Spec covers 6 endpoints from musiciansfriend.com.
Related APIs in EcommerceSee all →
sweetwater.com API
Search Sweetwater's catalog of musical instruments, audio equipment, and accessories to find products with detailed pricing, availability, ratings, and images. Get autocomplete suggestions as you type to quickly discover exactly what you're looking for.
guitarcenter.com API
Search Guitar Center's electric guitar catalog to instantly access product listings with pricing, customer reviews, and detailed specifications across different variants. Compare guitars and find the perfect instrument with complete product information all in one place.
thomann.de API
Search and browse Thomann's music store catalog to find products by category, view detailed specifications and pricing, read customer reviews, and filter results to discover the instruments and gear you're looking for. Access comprehensive product information including descriptions, availability, and ratings all in one place.
merchbar.com API
Search and discover music merchandise across vinyls, CDs, apparel, and accessories, then track product details, new arrivals, and sales by artist. Find exactly what you're looking for with real-time product information and pricing updates.
roland.com API
Search Roland's product catalog to find instruments, equipment, and accessories with detailed specs and availability. Browse product information, specifications, and details directly from Roland's US website to compare models and make informed purchasing decisions.
pluginboutique.com API
Search and browse thousands of audio plugins across categories, brands, and deals, while discovering free products, new arrivals, and bundle offers. Get detailed information about specific plugins and find exactly what you need for your music production setup.
furniture.com API
Search and browse Furniture.com's product catalog by keywords, then narrow results using filters like color, material, style, type, and brand. Sort by price or ratings and navigate through results with pagination to find the perfect furniture for your needs.
allmusic.com API
Search for music, browse artist biographies and discographies, and retrieve detailed album and song information all in one place. Discover new releases and access comprehensive metadata about artists and tracks.