Musician's Friend Scraper avatar

Musician's Friend Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Musician's Friend Scraper

Musician's Friend Scraper

Scrape Musician's Friend - instruments, guitars, keyboards, drums, pro audio, and DJ gear. Browse any category or brand hub, run keyword search, or fetch full product detail (variants, pricing, reviews) by URL. No auth, no proxy required.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 days ago

Last modified

Share

Scrape Musician's Friend (musiciansfriend.com) — guitars, bass, keyboards, drums & percussion, pro audio, recording gear, DJ gear, and more. Browse any of 90+ categories and brand hubs, run a keyword search, or fetch full product detail (per-variant pricing, availability, and customer reviews) directly by URL. HTTP-only, no login, no proxy required.

What this actor does

  • Three modes: category (browse a category or brand hub), search (keyword search), byUrl (fetch full detail for specific product URLs)
  • 90+ curated categories & brand hubs — guitars, bass, keyboards, drums, pro audio, DJ gear, deals, and brand pages like Fender Stratocaster or Gibson Les Paul — plus a free-text override for any other valid category slug
  • Sort control — Best Match, Best Sellers, Relevance, Customer Ratings, Price (both directions), Newest First, Brand Name A-Z
  • Filters — min/max starting price, brand name, on-sale-only, minimum customer star rating, and stock condition (New / Used / Open Box / Restock)
  • Optional full-detail enrichment — turn on includeFullDetails to fetch each product's page for long-form description, per-variant pricing/availability/condition, full technical specifications, feature highlights, and a sample of customer reviews
  • Empty fields are omitted — every record only contains fields Musician's Friend actually populated for that product

Output per product

Every product includes, when available:

  • productId, skuId — internal identifiers
  • title, brandName, description
  • productUrl, sourceUrl — canonical product page
  • imageUrl — product photo (CDN-hosted)
  • priceLow, priceHigh — starting price range across variants
  • onSale, promoLabel — sale flag and promo badge text (e.g. "Closeout Deal")
  • isUsedOnlyListing — true when the listing is used-only stock
  • totalReviews, overallRating — from the category/search listing
  • usedItemCount, startingUsedPrice — when used units are available alongside new
  • restockItemCount, startingRestockPrice — when backorder/restock units are available
  • maxSaving, maxSavingPercent, maxSavingMSRP — sale-savings context, when the item is discounted
  • category — the category/brand-hub slug used for the fetch (mode=category only)
  • recordType: "product", scrapedAt

When includeFullDetails is enabled (or always for mode=byUrl), the record is additionally enriched with:

  • fullDescription — long-form product description
  • categoryPath — breadcrumb trail (e.g. ["Guitars", "Electric Guitars"])
  • modelId, gtin, sku — model / catalog identifiers
  • brandLogoUrl
  • variesBy — which attribute the variants differ by (e.g. color)
  • variants[] — per-variant variantLabel, price, currency, inStock, condition, gtin, variantUrl, image
  • images[] — one image per variant
  • rating, reviewCount — from the product's own rating data (falls back to an average of sampled reviews when the site doesn't expose an aggregate)
  • reviews[] — up to 5 sampled customer reviews (author, title, body, rating, location, datePublished)
  • specifications — full technical spec sheet grouped by section (e.g. Body, Neck, Fingerboard, Electronics, Hardware), each section a set of spec-name → value pairs (e.g. Body wood: Mahogany, Scale length: 25")
  • features[] — the product page's bullet-point feature highlights

Input

FieldTypeDefaultDescription
modestringcategorycategory / search / byUrl
categorySlugstringguitarsCurated category/brand-hub slug (mode=category)
customCategorystringAny other valid category slug; overrides categorySlug (mode=category)
searchQuerystringelectric guitarFree-text keyword search (mode=search)
productUrlsarrayDirect product URLs to fetch full detail for (mode=byUrl)
sortBystringbestMatchSort order (mode=category/search)
minPriceintegerDrop products priced below this
maxPriceintegerDrop products priced above this
brandNamestringKeep only products whose brand contains this text
onSaleOnlybooleanfalseKeep only on-sale products
conditionstringanyStock condition: any / new / used / openBox / restock (mode=category only)
minRatingstringKeep only products with an average customer rating at or above this many stars (1–5)
includeFullDetailsbooleanfalseFetch each product's detail page for description, variants, and reviews
maxItemsinteger60Hard cap on emitted products (1–2000)
proxyConfigurationobjectoffOptional Apify proxy (AUTO group). Not needed in normal operation

Example: browse a category

{
"mode": "category",
"categorySlug": "electric-guitars",
"sortBy": "priceLowToHigh",
"maxItems": 100
}

Example: search with filters

{
"mode": "search",
"searchQuery": "usb audio interface",
"minPrice": 100,
"maxPrice": 400,
"onSaleOnly": true,
"maxItems": 50
}

Example: browse a brand hub with full detail

{
"mode": "category",
"categorySlug": "fender-stratocaster",
"includeFullDetails": true,
"maxItems": 20
}

Example: new-condition, highly-rated products only

{
"mode": "category",
"categorySlug": "electric-guitars",
"condition": "new",
"minRating": "4",
"maxItems": 50
}

Example: used gear with full specs and reviews

{
"mode": "category",
"categorySlug": "bass",
"condition": "used",
"includeFullDetails": true,
"maxItems": 20
}

Example: fetch specific products by URL

{
"mode": "byUrl",
"productUrls": [
"https://www.musiciansfriend.com/guitars/prs-se-studio-standard-electric-guitar/m19477",
"https://www.musiciansfriend.com/accessories/daddario-exl110-12p-nickel-wound-light-electric-guitar-string-12-pack"
]
}

Example: category slug not in the curated list

{
"mode": "category",
"customCategory": "boss-katana",
"maxItems": 30
}

Use cases

  • Price monitoring — track pricing and sale status across a category or specific brand hub over time
  • Market research — analyze brand and pricing distribution across instrument categories
  • Product feed building — pull structured catalog data for comparison shopping or affiliate sites
  • Deal discovery — filter used-gear, clearance, open-box-musical-instruments, or demo-gear-sale for discounted gear
  • Review analysis — sample customer reviews and ratings per product with includeFullDetails
  • Competitive intelligence — compare musical instrument retail pricing against other marketplaces

FAQ

What data source does this actor use? The public musiciansfriend.com website. No login or API key is required.

Is this affiliated with Musician's Friend? No. This is an independent, third-party actor that reads publicly available product pages.

Why did my customCategory return 0 results? The slug must exactly match a real Musician's Friend category or brand-hub path segment (the part of the URL after musiciansfriend.com/), e.g. taylor-114ce. An invalid slug returns 0 products with a status message rather than failing.

Why doesn't sortBy seem to change my search results? When a search query closely matches an existing category or brand name (e.g. "fender stratocaster"), Musician's Friend internally redirects the search to that category's own listing page, which always opens in its default "Best Match" order — this is upstream site behavior, not an actor bug. Use mode=category with the matching categorySlug/customCategory for guaranteed sort control.

Why are some fields missing on some products? Only fields Musician's Friend actually populated for that product are included — empty/null fields are always omitted rather than sent as blank values. For example, usedItemCount only appears when used units are actually available for that listing.

How fresh is the data? Every run scrapes live pages at request time — pricing, sale status, and stock reflect the current state of musiciansfriend.com.

Does includeFullDetails slow things down? Yes — it adds one extra request per product to fetch the detail page. Leave it off for fast catalog scans; turn it on when you need descriptions, per-variant availability, specifications, or reviews.

Does condition work with mode=search? No — the Condition filter (new/used/openBox/restock) only applies to mode=category, since it relies on Musician's Friend's own category-page filtering. For search results, use mode=category with the matching category slug instead, or filter afterwards using the isUsedOnlyListing output field.

How does minRating work when a product has no reviews yet? Products with no rating data always pass through unaffected — the filter only ever excludes products that have a rating below your threshold, never products with missing rating data.

Why do minPrice/maxPrice sometimes return products with no visible price? A small number of listings (open-box items, "call for price" items) don't expose a numeric starting price at all. Price filters only exclude products that actually have a price outside your range — a product with no listed price always passes through rather than being silently dropped, so you don't lose otherwise-relevant results.

Is a proxy required? No. The actor works reliably without one. The optional proxyConfiguration input is available as a fallback and uses only the free Apify AUTO datacenter group.