Buycycle Scraper avatar

Buycycle Scraper

Pricing

from $0.09 / 1,000 results

Go to Apify Store
Buycycle Scraper

Buycycle Scraper

[๐Ÿ’ฐ $0.09 / 1K] Extract used bike listings from buycycle.com, Europe's largest used bike marketplace โ€” brand, model, price, MSRP, discount, frame size, year, groupset, condition, e-bike status, seller type, and photos. Search by keyword or filters, or paste a URL.

Pricing

from $0.09 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Pull used and refurbished bike listings from buycycle.com at scale โ€” asking price next to original MSRP, calculated discount, condition grade, frame size, model year, groupset, full component specs, seller location, and every listing photo. Built for bike shops sourcing inventory, resellers hunting underpriced frames, and pricing analysts who need the second-hand market as a clean spreadsheet without clicking through thousands of listings one at a time.

Why This Scraper?

  • 29 country storefronts across 10 currencies โ€” Germany, Switzerland, the US, and 26 more. Each storefront has its own seller pool and prices land in that market's real currency (EUR, CHF, CZK, DKK, HUF, NOK, PLN, RON, SEK, USD).
  • MSRP and discount percentage on every bike โ€” original retail price sits beside the asking price with the discount already calculated for you. That is the underpriced-listing signal, precomputed on every row.
  • Buycycle's own price rating, plus the common market price โ€” the marketplace's verdict on whether a listing is priced well, alongside the going rate for comparable bikes. Two independent value benchmarks per listing.
  • 23 filters, every one applied at the source โ€” nothing is filtered after collection, so you never pay for rows that get thrown away. Competing tools bill you for a full crawl and then discard most of it.
  • Full component specs on every listing โ€” condition, frame material, brake type, shifting (electronic vs. mechanical), colour, wheel size, and suspension type. None of these appear on buycycle's own results grid.
  • Five condition grades โ€” Fair, Good, Very good, New, and Brand new with warranty, filterable individually.
  • Postcode proximity search from 10 to 300 km โ€” real distance search around any postcode, not a vague country-level scope.
  • Private sellers vs. shops & dealers โ€” isolate either side of the market in one toggle, plus a High demand badge filter for listings buyers are actively watching.
  • Up to 10,000 listings per search โ€” with four sort orders (relevance, newest, lowest price, highest price) so a capped run captures the end of the market you actually care about.

Use Cases

Resale & Arbitrage

  • Spot listings priced far below MSRP using the precomputed discount percentage
  • Cross-reference asking price against buycycle's common market price for the same model
  • Track high-demand badges to find bikes that resell quickly
  • Compare the same model across storefronts to find the cheapest source market

Bike Shop Inventory Sourcing

  • Find trade-in stock near your shop with postcode and radius search
  • Source specific frame sizes and model years to fill gaps in your range
  • Filter to private sellers for direct-purchase opportunities
  • Build buy lists by brand and model family with condition minimums

Market & Pricing Research

  • Benchmark used prices by brand, category, and model year
  • Measure how carbon, aluminium, and titanium frames hold value
  • Compare electronic vs. mechanical groupset premiums
  • Track price spread across 29 European and US markets

Deal Monitoring

  • Run scheduled searches sorted by newest to catch listings as they appear
  • Watch a single model family for below-market entries
  • Alert on discounted listings above a discount threshold
  • Monitor a postcode radius for local pickup opportunities

Competitive Intelligence

  • Map which shops and dealers list the most inventory
  • Analyse how commercial sellers price against private sellers
  • Track e-bike share of the market by category and country
  • Feed second-hand pricing into valuation and trade-in tools

Getting Started

Search by Keyword

The simplest way to start:

{
"searchQueries": ["Canyon Aeroad"],
"maxResults": 50
}

Paste a Buycycle URL

Any shop, search, or individual bike URL works directly:

{
"startUrls": [
"https://buycycle.com/en-de/shop/main-types/bikes/brands/specialized"
],
"maxResults": 100
}

Hunt Discounted Carbon Road Bikes

The most useful filter combination โ€” narrow at the source, sort cheapest first:

{
"country": "de",
"categories": ["road"],
"frameMaterials": ["carbon"],
"frameSizes": ["m", "l"],
"conditions": ["very-good", "new"],
"maxPrice": 3000,
"minYear": 2021,
"sortBy": "lowest-price",
"maxResults": 200
}
{
"searchQueries": ["Tarmac SL7"],
"country": "ch",
"brands": ["specialized"],
"families": ["tarmac"],
"conditions": ["very-good", "new", "brand-new-with-guarantee"],
"frameMaterials": ["carbon"],
"brakeTypes": ["disc"],
"shifts": ["electronic"],
"minPrice": 2000,
"maxPrice": 8000,
"minYear": 2021,
"postcode": "8001",
"radiusKm": 100,
"sellerType": "private",
"frameset": "complete",
"highDemandOnly": true,
"sortBy": "lowest-price",
"includeFullSpecs": true,
"maxResults": 500
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
startUrlsstring[]["https://buycycle.com/en-de/shop/main-types/bikes"]Paste one or more buycycle.com shop, search, or individual bike URLs. When provided, these are used directly and the search fields below are ignored.
searchQueriesstring[][]Free-text searches, for example "Canyon Aeroad". Each keyword is collected separately. Leave empty to browse by filters only. Ignored when URLs are provided.
countryselectGermanyWhich buycycle storefront to search. Sets the currency and the pool of sellers that ship to you. 29 options from Germany to the United States.

Search Filters

Every filter is optional โ€” leave a field empty to include everything.

ParameterTypeDefaultDescription
mainTypesselect[][]Buycycle sells complete bikes as well as gear for other sports. Bikes, Cycling gear & parts, Running, Winter sports, Outdoor, Ball sports, Water sports, Racket sports, Other. Leave empty for complete bikes only.
bikeTypesselect[][]Road & gravel, Mountain bike, Urban & touring, or Youth.
categoriesselect[][]A finer breakdown than bike type โ€” Road, Gravel, Triathlon, Cyclocross, Trail, Enduro, Downhill, Cross country, City, Trekking, Cargo & transport, Vintage, BMX, and more.
brandsstring[][]Only include these brands, e.g. "canyon", "specialized". Lowercase with dashes instead of spaces.
familiesstring[][]Only include these model lines, e.g. "aeroad", "tarmac". Works best together with the matching brand.
frameSizesselect[][]XXXS through XXL, plus One size and Youth.
conditionsselect[][]Fair, Good, Very good, New, or Brand new with warranty.
frameMaterialsselect[][]Carbon, Aluminium, Steel, Titanium, or Magnesium.
brakeTypesselect[][]Disc, Rim, Drum, Coaster, or Other.
shiftsselect[][]Electronic (Di2, eTap, EPS), Mechanical, or Other.
colorsselect[][]Black, White, Light grey, Blue, Red, Green, Orange, or Purple.
genderselectAnyIntended rider: Any, Unisex, Men, Women, or Kids. Buycycle applies this to gear and apparel only.
eBikeselectAnyAny, E-bikes only, or Exclude e-bikes.
framesetselectAnyAny, Complete bikes only, or Framesets only.
sellerTypeselectAnyAny, Private sellers, or Shops & dealers.
highDemandOnlybooleanfalseOnly return listings carrying buycycle's "High demand" badge.

Price, Year & Location

ParameterTypeDefaultDescription
minPriceintegerโ€”Lowest price to include, in the marketplace currency. This is the item price, before the buyer protection fee is added.
maxPriceintegerโ€”Highest price to include, in the marketplace currency.
minYearintegerโ€”Only include bikes from this model year or newer (2013โ€“2027).
maxYearintegerโ€”Only include bikes from this model year or older (2013โ€“2027).
postcodestring""Find bikes near a postcode, e.g. "10117". Must be a postcode in the marketplace country selected above.
radiusKminteger50How far from the postcode to search. Buycycle supports 10, 25, 50, 100, 150, 200, 250, and 300 km โ€” other values round up to the nearest supported one.

Sorting & Limits

ParameterTypeDefaultDescription
sortByselectRelevanceRelevance, Newest listings, Lowest price, or Highest price. Useful with a result limit โ€” sort by lowest price to capture the cheapest bikes first.
includeFullSpecsbooleantrueFetch the complete specification for every listing. Adds condition, frame material, brake type, shifting, colour, wheel size, suspension, seller city and country, model family, price rating, and the seller's description. Turn off for a much faster, cheaper run returning only the basics.
maxResultsinteger100Maximum results per search. Set to 0 for as many as the site will return. Results arrive in pages and the last page is always returned in full, so you may receive slightly more than this number.

Output

Here is a representative result with full specifications enabled:

{
"id": "412887",
"title": "Specialized Tarmac SL7 Expert",
"brand": "Specialized",
"family": "tarmac",
"url": "https://buycycle.com/en-de/product/specialized-tarmac-sl7-expert-412887",
"price": 3450,
"currency": "EUR",
"totalPriceFormatted": "โ‚ฌ 3,657 incl. buyer protection",
"msrp": 5500,
"priceOriginal": 3800,
"isDiscounted": true,
"discountPct": 37,
"condition": "Very good",
"frameSize": "56 (M)",
"year": 2022,
"groupset": "Shimano Ultegra Di2",
"frameMaterial": "Carbon",
"brakeType": "Disc",
"shifting": "Electronic",
"wheelSize": "700c",
"suspensionType": "Rigid",
"color": "Black",
"receiptAvailable": "Yes",
"categoryName": "Road",
"typeName": "Road & gravel",
"productType": "bike",
"isHighDemand": true,
"favoritesCount": 27,
"sellerCity": "Berlin",
"sellerCountry": "Germany",
"priceRating": "Good price",
"commonPrice": 3900,
"description": "Ridden two seasons, always stored indoors. Recently serviced...",
"imageUrl": "https://assets.buycycle.com/example-1.jpg",
"images": [
"https://assets.buycycle.com/example-1.jpg",
"https://assets.buycycle.com/example-2.jpg"
],
"country": "de",
"searchQuery": "Tarmac SL7",
"scrapedAt": "2026-07-17T14:30:00Z"
}

Core Fields

FieldTypeDescription
idstringUnique buycycle listing identifier
titlestringFull listing title
brandstringBike brand, e.g. "Specialized"
familystringModel family, e.g. "tarmac"
urlstringDirect link to the listing
yearnumberModel year
frameSizestringFrame size as the seller listed it
groupsetstringDrivetrain / component group, e.g. "Shimano Ultegra Di2"
categoryNamestringCategory, e.g. "Road", "Gravel", "Trail"
typeNamestringBroader bike type, e.g. "Road & gravel"
productTypestringProduct class, e.g. "bike"
countrystringStorefront the listing was collected from
searchQuerystringKeyword this result came from, when one was used
scrapedAtstringISO timestamp of data extraction

Pricing & Value

FieldTypeDescription
pricenumberCurrent asking price in the storefront currency
currencystringCurrency of the storefront searched
msrpnumberOriginal manufacturer retail price, when published
priceOriginalnumberSeller's previous asking price before any reduction
isDiscountedbooleanWhether the seller has reduced the price
discountPctnumberPercent below MSRP, calculated for you
totalPriceFormattedstringTotal including buyer protection fee, as buycycle displays it
priceRatingstringBuycycle's verdict on the price, e.g. "Good price"
commonPricenumberTypical market price for comparable bikes

Specifications

Populated when includeFullSpecs is on.

FieldTypeDescription
conditionstringFair, Good, Very good, New, or Brand new with warranty
frameMaterialstringCarbon, Aluminium, Steel, Titanium, or Magnesium
brakeTypestringDisc, Rim, Drum, Coaster, or Other
shiftingstringElectronic or Mechanical
wheelSizestringWheel size โ€” published mainly on mountain bikes
suspensionTypestringSuspension setup, where the seller listed one
colorstringColour as listed
receiptAvailablestringWhether the seller still has the original receipt

Seller & Demand

FieldTypeDescription
sellerCitystringSeller's city
sellerCountrystringSeller's country
isHighDemandbooleanCarries buycycle's "High demand" badge
favoritesCountnumberHow many buyers have saved this listing
descriptionstringSeller's own description of the bike

Media

FieldTypeDescription
imageUrlstringPrimary listing photo
imagesstring[]Every listing photo

Tips for Best Results

  • Narrow rather than chase the cap โ€” any single search returns up to 10,000 listings, while the full catalogue runs to roughly 49,000 bikes. To go wider, split the work across several runs partitioned by brand, category, country, or price range.
  • Switch country to widen the pool, not just the currency โ€” a bike only shows up in the storefronts its seller ships to. The same brand search against Germany, Switzerland, and the US returns three genuinely different result sets.
  • Sort before you cap โ€” with maxResults set, sortBy decides which end of the market you keep. Lowest price plus a modest cap is the cheapest way to surface bargains.
  • Find underpriced bikes with msrp and discountPct โ€” both ship on every row, so you can rank by discount downstream at no extra cost. Cross-check against priceRating and commonPrice before committing.
  • "Intended rider" applies to gear and apparel only โ€” buycycle does not tag bikes by rider category, so combining it with Bikes returns nothing. Leave it on Any for bike searches.
  • Postcodes must match the storefront โ€” a German postcode only works with the Germany marketplace. Radius rounds up to the nearest supported step (10, 25, 50, 100, 150, 200, 250, or 300 km).
  • Turn off full specifications for a fast, cheap sweep โ€” great for a price-only sweep, but condition, frame material, brake type, shifting, colour, wheel size, seller location, and description come back empty. Leave it on when specs matter.

Pricing

From $0.09 per 1,000 results โ€” the lowest rate for used-bike listings on the platform, with full specifications included rather than sold as an upgrade. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$0.0105$0.0100$0.0095$0.0090
1,000$0.105$0.100$0.095$0.090
10,000$1.05$1.00$0.95$0.90
100,000$10.50$10.00$9.50$9.00

A "result" is one bike listing in the output dataset. No compute or time-based charges โ€” you pay per result, plus a small fixed per-run start fee.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n โ€” Workflow automation
  • Google Sheets โ€” Direct spreadsheet export
  • Slack / Email โ€” Notifications on new results
  • Webhooks โ€” Trigger custom APIs on run completion
  • Apify API โ€” Full programmatic access

This actor is designed for legitimate market research, pricing analysis, and inventory sourcing. Users are responsible for complying with applicable laws and buycycle's Terms of Service. Collect only what you need, and do not use extracted data for spam, harassment, or any illegal purpose. Seller names and contact details are not collected; treat any personal data appearing in listing descriptions in line with GDPR and other applicable privacy rules.