Cycle Trader Listings Scraper avatar

Cycle Trader Listings Scraper

Pricing

from $4.00 / 1,000 listings

Go to Apify Store
Cycle Trader Listings Scraper

Cycle Trader Listings Scraper

The Cycle Trader Listings Scraper extracts motorcycle listings from CycleTrader.com, capturing make, model, year, price, mileage, condition, dealer name and phone number, location, photos, and full specs — ideal for market research, price monitoring, lead generation, and inventory tracking.

Pricing

from $4.00 / 1,000 listings

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

11

Total users

5

Monthly active users

6 days ago

Last modified

Share

🏍️ Cycle Trader Scraper: Motorcycles for Sale, Prices and Dealers

Export Cycle Trader motorcycles for sale as clean JSON, CSV or Excel. The Cycle Trader Listings Scraper turns any CycleTrader.com search into structured rows: year, make, model, price, mileage, VIN, condition, dealer name and phone number, location with coordinates, and photos. Use it to research used motorcycle prices and values, build your own motorcycle price guide, watch dealer inventory, or as a simple alternative to a Cycle Trader API.

🎯 Use Cases

  • Used motorcycle prices and values: pull every listing for a make and model and compare asking prices by year, mileage and condition.
  • Build your own motorcycle price guide: schedule daily runs and keep a dated history of asking prices for the models you trade.
  • Motorcycle dealer lists: collect dealer names, websites, phone numbers and locations from the listings in any state or category.
  • Inventory and competitor monitoring: track what nearby dealers stock, how they price new and used units, and when new listings appear.
  • Motorcycle classifieds research: compare dealer and private-seller listings, categories (cruiser, touring, sportbike, scooter) and regions.

✨ Features

  • Rich rows straight from search pages: year, make, model, trim, class, category, price, condition, mileage, VIN (serial number), stock number, city, state, ZIP, latitude and longitude, listing date, photos and a short description.
  • Dealer contact details on every dealer row: dealer name, ID, website and phone number, plus the dealer's direct line when the listing has one. No details pass needed.
  • Any Cycle Trader search URL: all motorcycles, one make like Harley-Davidson or Honda, or a search filtered by category, condition, price or location. Pages are followed automatically.
  • Optional full details: turn on Scrape full listing details to add the spec sheet (color, engine size…), the full description and the complete photo gallery.
  • Single listings too: paste a /listing/... URL to get its full record.
  • No duplicates: each listing is saved and charged once per run, even when your searches overlap.
  • Tells you when a search is too big: Cycle Trader shows about 420 listings per search. The run's status message says when your search matched more and how to split it.
  • Fair billing: listings that can't be loaded or are no longer listed are not charged, and the run stops cleanly at your maximum charge.

🛠️ How It Works

  1. Paste search URLs: open Cycle Trader, apply any filters, and copy the URL (or keep the default all motorcycles for sale page).
  2. Set Max items: the default is 50; 0 means no limit.
  3. Run the scraper and download the results, or pull them through the Apify API.

⚙️ Input

FieldWhat it does
Search / category URLsOne or more Cycle Trader search, category or listing URLs.
Max itemsMaximum number of listings to save. Default 50, 0 = no limit.
Scrape full listing detailsOpen each listing for the spec sheet, full description and all photos. Off by default.
{
"startUrls": [{ "url": "https://www.cycletrader.com/motorcycles-for-sale" }],
"maxItems": 50,
"scrapeDetails": false
}

A URL with page=3 starts at page 3, and your filters and sort order are kept on every page.

💰 Pricing

Pay only for the listings you get. No monthly rental.

EventPriceWhat you get
Listing (fast pass)$0.004 per listing ($4.00 per 1,000)One search-page row with all the fields below.
Detail (with full details on)$0.01 per listing ($10.00 per 1,000)The same row plus spec sheet, full description and every photo. Charged instead of the listing.
Actor start$0.00005 per runCharged once when the run starts (per GB of memory).

Examples: 50 listings = $0.20 · 1,000 listings = $4.00 · 1,000 listings with full details = $10.00. If a listing's detail page can't be opened, you get (and pay for) its search row at the listing price.

📊 Sample Output Data

A real row from the fast pass (photo list shortened):

{
"id": "5042692488",
"url": "https://www.cycletrader.com/listing/2026-BMW-R+1300+GS-5042692488",
"title": "2026 BMW R 1300 GS",
"year": 2026,
"make": "BMW",
"model": "R 1300 GS",
"trim": null,
"condition": "New",
"price": 25670,
"msrp": null,
"className": "Motorcycle",
"category": "Touring",
"mileage": 9,
"hours": null,
"fuelType": null,
"serialNumber": "WB10M2303T6M24122",
"stockNumber": "B6M24122",
"sellerType": "Dealer",
"dealerName": "BMW Motorcycles of Miami, Inc",
"dealerId": "2857420",
"dealerWebsite": "https://www.motorcyclesofmiami.com/",
"phone": "7868450052",
"dealerDirectPhone": null,
"trustedPartner": null,
"premium": true,
"city": "Miami",
"state": "FL",
"zip": "33166",
"latitude": 25.83582,
"longitude": -80.30134,
"listedAt": "2026-10-19T19:23:36Z",
"photoCount": 17,
"images": [
"https://cdn-media.tilabs.io/v1/media/6ad66e396be285c099034bb3.jpg",
"https://cdn-media.tilabs.io/v1/media/6ad66e3969a3e848bc0c3782.jpg",
"…"
],
"description": "2026 BMW R 1300 GS, New 2026 BMW R 1300 GS for sale in Fort Myers,",
"scrapedAt": "2026-10-21T06:03:38.794Z",
"class": "Motorcycle",
"location": "Miami, FL",
"isDealer": true
}

serialNumber is the VIN when the seller gives one. premium marks a paid placement. class, location and isDealer repeat className, "City, ST" and sellerType for older integrations. With full details on, a row also has specs (the spec sheet, e.g. {"type": "Motorcycle", "primaryColor": "Gray"}), color, engineSize, features, makeAnOfferPrice, priceDrop and horsePower, and description and images hold the full text and gallery.

Data fields

FieldDescription
id, urlCycle Trader listing ID and page
title, year, make, model, trimWhat is for sale
conditionNew or used
price, msrpAsking price and MSRP in USD (null = not shown)
className / class, categoryVehicle class and category (Cruiser, Touring, Sportbike, Dual Sport…)
mileage, hours, fuelTypeUsage and fuel, where the seller gives them (0 miles on new units)
serialNumber, stockNumberVIN or serial number, dealer stock number
sellerType, isDealerDealer or private seller
dealerName, dealerId, dealerWebsiteWho sells it
phone, dealerDirectPhonePhone number on the listing, and the dealer's own line when it differs
city, state, zip, location, latitude, longitudeWhere it is
listedAtWhen the listing was created
premium, trustedPartnerPaid placement and the dealer's trusted-partner badge
photoCount, imagesNumber of photos and their URLs
descriptionShort text from the search page; the full description with details on
scrapedAtWhen the row was saved

🔁 Schedule and Integrate

For price tracking and new-inventory alerts, run the same searches once a day: every run is a dated snapshot, and together they become your price history for the models you follow. Set it up in Apify Schedules. Send the results to Google Sheets, Zapier, Make, n8n or a webhook with Apify integrations, so new listings and price changes land where your team already works.

🤖 Use with AI Agents (MCP)

This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (https://mcp.apify.com). An agent can call it with:

{ "startUrls": [{ "url": "https://www.cycletrader.com/motorcycles-for-sale" }], "maxItems": 20 }

❓ FAQ

Does Cycle Trader have an official API? Cycle Trader doesn't offer a public API for reading its listings; its tools are aimed at dealers who upload inventory. This Actor needs no key, account or approval and returns the public listing data a buyer sees, as structured rows, with no rate-limit handling on your side.

How do I check used motorcycle prices and values with Cycle Trader data? Paste a search for the make, model or category you care about (add a year or condition filter if you like), run the Actor, and compare price against year, mileage and condition. Schedule it daily to see how asking prices move over time.

Do I need a Cycle Trader account? No.

Why is a field empty? Sellers fill in different things. On many listings msrp, trim, stockNumber, serialNumber or mileage are missing, and private sellers have no dealer fields. Empty fields are null.

How many listings can I get from one search? Cycle Trader shows about 420 listings (10 pages) per search. For more, split the search by make, category, price range or location, or paste several narrower search URLs; the status message tells you when a search hit the limit.

Can I scrape a specific make, category or location? Yes. Apply the filters on Cycle Trader and paste the resulting URL.

Need a feature or found a bug? Open an issue in the Actor's Issues tab.