Quikr Scraper — Used Cars & Bikes in India
Past the 1,128-result wall, by brand.
Extracts used car and used bike listings from Quikr.com across India, with Indian-format numbers parsed and every EMI offer Quikr shows. Quikr stops returning new ads after 1,128 results per search, so the Actor splits larger searches by brand.
oswaldocarabano/quikr-scraper
{
"category": "cars",
"city": "bangalore",
"brands": ["Maruti Suzuki", "Hyundai"],
"maxResults": 500,
"includeDetails": true
}- Version
- v0.1.4
- Memory
- 512 MB
- Browser
- none
- Proxy
- None needed; switches to an Indian residential IP if blocked
Short answer
The Quikr Scraper extracts used car and bike listings from Quikr.com across India or 12 cities with their own Quikr filter, with prices in INR parsed from Indian-format numbers and every EMI offer Quikr shows. Measured on 1,000 cars and 1,000 bikes on 1 October 2026, price was filled on 97.7% of cars and year on 99.7%. A Quikr search stops returning new ads after 1,128 results, so larger requests are split by brand, which reached 1,658 of 1,660 cars when tested. Private individuals posted 92.2% of car ads; their contact data is withheld by default, and phone numbers are never collected. Pricing is $0.0029 per listing and $0.0015 per detail page.
Key points
- The Quikr Scraper covers Quikr's used cars and bikes verticals: 1,683 cars and 3,107 bikes and scooters across India on 1 October 2026.
- A single Quikr search stops returning new ads after 47 pages, or 1,128 listings, and then repeats the same ads indefinitely.
- Above 1,128 results the Quikr Scraper splits the search by brand; the brand counts covered 1,658 of 1,660 cars when tested on 23 September 2026.
- Price was filled on 97.7% of 1,000 measured car rows, and a blank price shown as "0" is returned as null rather than as a free car.
- Private individuals posted 92.2% of 1,000 car ads and 94.9% of 1,000 bike ads measured on 1 October 2026; their contact data is withheld by default.
- Phone numbers are never collected, because Quikr reveals them only after a login and one-time-password step.
- A thousand listings cost $2.90, or $4.40 with detail pages, and error rows and duplicates are never charged.
What it does
Extracts used car and used bike listings from Quikr.com across India, with Indian-format numbers parsed and every EMI offer Quikr shows. Quikr stops returning new ads after 1,128 results per search, so the Actor splits larger searches by brand.
{
"listing_id": 375880303,
"url": "https://www.quikr.com/bikes-scooters/used-2015-tvs-star-city-plus-65000-kms-driven-in-chamrajpet-bangalore/p/375880303",
"title": "TVS Star City Plus - 2015",
"category": "bikes",
"brand": "TVS",
"model": "Star City Plus",
"year": 2015,
"km_driven": 65000,
"body_type": "Bike",
"price_inr": 30000,
"currency": "INR",
"emi_default_monthly_inr": 1426,
"emi_options": [
{ "months": 24, "interest_rate_pct": 12.99, "monthly_payment_inr": 1426, "is_default": true },
{ "months": 12, "interest_rate_pct": 12.99, "monthly_payment_inr": 2679, "is_default": false }
],
"city": "Bangalore",
"locality": "Chamrajpet",
"seller_type": "individual",
"ad_tier": "platinum",
"listed_on": "2026-09-21",
"image_count": 2,
"detail_scraped": true,
"views": 47,
"verified": true,
"seller_email": null
}Why this one
Brand splitting past the 1,128 wall
Quikr keeps answering after page 47 but with the same ads. The Quikr Scraper stops pagination on repeated ad IDs, so a duplicate is never charged, and splits larger requests by brand: a 5,000-listing bike request on 1 October 2026 became 28 brand searches.
Indian number formats parsed, originals kept
"10,50,000" becomes `price_inr: 1050000`, "1,05,000 kms" becomes `km_driven: 105000` with the raw text kept, and "2nd Owner" becomes `owners: 2`. "Before 1995" becomes a null year with `year_raw` preserved rather than a guessed one.
Every EMI offer, not just the headline one
Quikr attaches financing offers to ads. `emi_options` carries each one — months, interest rate and monthly payment — on 100% of measured rows.
Dealer contact from detail pages, never a phone
Detail pages add view counts, verification and the specification table, plus the dealer's name, e-mail and Quikr profile on 100% of measured dealer ads (38 cars, 45 bikes).
Use cases
- Build an India used-car or used-bike price dataset from price, year, km, owners, fuel and variant.
- Watch competitors' ads by promotion tier, seller type and listing date.
- Collect dealer names, e-mails and Quikr profiles for automotive lead generation.
- Track used bike and scooter prices by city.
- Study consumer vehicle financing through Quikr's EMI offers.
Input
Every field has a default, and the defaults are deliberately small so a first run is cheap enough to inspect before you commit to a sweep. This table mirrors the Actor's own input schema field for field.
| Field | Default | What it does |
|---|---|---|
categorystring | cars | Category`cars` or `bikes`. |
citystring | all-india | CityAll of India, or one of the 12 cities Quikr has its own filter for. |
brandsstring[] | [] | BrandsChecked against Quikr's live brand list; an unknown brand stops the run and nothing is charged. |
maxResultsinteger | 50 | Maximum listingsHard cap, up to 10,000. Above 1,128 the search is split by brand. |
includeDetailsboolean | false | Also scrape detail pagesViews, verification, highlights, specs and dealer contact. One extra request per listing, about 31 times the bytes of a search row. |
includePrivateSellerContactboolean | false | Include private sellers' contact datapersonal dataOff by default. Turn on only with a lawful basis. |
maxConcurrencyinteger | 4 | Maximum concurrencyQuikr answered 12 parallel requests without an error when measured. |
Output and fill rates
A field being in the schema is not the same as it having a value. The percentages below were counted on real runs; the sample sizes are in Measurements. Anything not listed here is not promised.
| Field | Filled | Meaning |
|---|---|---|
listing_idinteger | 100% | Quikr ad identifier. |
url / titlestring | 100% | Public ad URL and title. |
brand / modelstring | 100% | Make and model. |
km_driveninteger | 100% | Parsed from Indian format, with `km_driven_raw`. |
citystring | 100% | Ad city. |
seller_typestring | 100% | `individual` or `dealer`. |
ad_tierstring | 100% | Promotion tier: platinum, gold or basic. |
listed_ondate | 100% | Listing date. |
emi_optionsobject[] | 100% | Every EMI offer: months, interest rate, monthly payment. |
yearinteger | 99.7% | Model year; cars n = 1,000 (bikes also 99.7%). |
fuel_typestring | 99.7% | Cars only. |
price_inrinteger | 97.7% | Asking price; null when the seller left it blank. Bikes 98.4%. |
localitystring | 88.9% | Neighbourhood. Bikes 91.6%. |
imagesstring[] | 91% | Photo URLs. Bikes 91.1%. |
variantstring | 87.5% | Cars only. |
colorstring | 58.5% | Cars only. |
insurance_valid_tilldate | 47.7% | Insurance expiry. Bikes 17.5%. |
ownersinteger | 28.4% | Number of owners, parsed from "2nd Owner". Bikes 17.1%. |
views / verifiedinteger / boolean | 100% | Detail pages only. Cars n = 201. |
seller_name / seller_emailstring | not measured | Detail pages, dealer ads: 100% (38 cars, 45 bikes). Empty for private sellers unless contact data is turned on. |
Every key is always present. A field that exists but is empty comes back as explicit null, so a parser never has to guess.
Datasets
Different record types go to different datasets, so the main table never carries columns that are blank on most rows.
defaultOne row per car or bike ad, 61 data fields.billedError rowsAn unknown brand or a failure returns a row explaining it. Never charged.never billed
Pricing
Pay per delivered result. Charges are applied as each row is produced rather than in a lump at the end, so an aborted run bills only for what it actually gave you.
| Event | Price | Notes |
|---|---|---|
apify-actor-startActor start | $0.00001 | Once per run. |
listingListing | $0.0029 | One Quikr ad: INR price, make, model, variant, year, km, fuel, owners, insurance date, EMI offers, city, locality, seller type and photos. |
listing-detailDetail page | $0.0015 | Only with `includeDetails`: views, verification, highlights, the specification table and dealer contact. |
Measurements
Each figure is shown with the method that produced it. A benchmark without a method is a marketing claim wearing a number's clothes.
Search fill rates
median 38 populated fields for cars, 36 for bikes
n = 1,000 cars and 1,000 bikes, the Actor's own runs on the Apify platform, 1 October 2026.
Detail-page fill rates
median 48 for cars, 46 for bikes
n = 201 cars and 153 bikes with detail pages, 1 October 2026.
Per-search ceiling
1,128 results (47 pages)
Past that point Quikr keeps answering with the same ads; observed 23 September 2026.
Brand-split coverage
1,658 of 1,660 cars
Brand counts summed against the all-India total on 23 September 2026; every brand fit under the ceiling.
Private-seller share
92.2% of car ads, 94.9% of bike ads
n = 1,000 each, 1 October 2026. Quikr's own seller filter counted 89.5% for cars on 23 September.
Throughput
1,000 listings in 44 s
Apify platform, 512 MB. 80 listings with detail pages took about 30 s.
What it will not do
Stated plainly so you can judge fit before spending anything.
- Quikr's own city filter exists for 12 cities only; listings from any other city come with All of India and can be filtered on the `city` column.
- Quikr does not publish variant, fuel type or colour for bikes, so those are empty on bike rows.
- `owners` is filled on 28.4% of car rows and `insurance_valid_till` on 47.7%: Quikr sellers often leave them blank.
- Quikr real estate and jobs run on separate applications and are not covered.
- `maxResults` is capped at 10,000 per run.
- The Quikr Scraper does not filter by robots.txt. On 10 October 2026, none of the 51 rules in Quikr's catch-all group covered the listing, pagination or ad paths the Actor uses.
Privacy
- Private individuals posted 92.2% of car ads and 94.9% of bike ads (n = 1,000 each, 1 October 2026). For them, name, e-mail, user ID, profile link and exact map pin are left empty by default, and phone numbers or e-mails typed into descriptions are removed.
- India's Digital Personal Data Protection Act, 2023 protects individuals' personal data; `includePrivateSellerContact` should be turned on only with a lawful basis.
- Seller phone numbers are never collected for anyone: Quikr reveals them only after a login and OTP step.
- Dealers' data is always included.
- Removal requests: privacy@actorstack.dev
See also the data removal process.