POST /api/spinny/listings
Price: 10 credits
Get a Spinny used-car listing by id or URL: price with breakdown, discount, market price, EMI and loan terms, year, km, owners, registration and insurance validity, service dates, specifications, features, included benefits, hub with address and coordinates, and photos by category
Find listing ids with spinny/listings/search. The inspection report of the same car is spinny/listings/inspection.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)listing string required — Spinny listing id or listing URL (examples: "32431404", "https://www.spinny.com/buy-used-cars/sonipat/tata/nexon-ev-prime/xz-plus-lux-murthal-2022/30660569/")@type string (default: "SpinnyListingDetail")id string requiredurl string nullablemake string nullablemodel string nullablevariant string nullableyear integer nullableregistration_year integer nullablekm_driven integer nullablefuel_type string nullabletransmission string nullabletransmission_type string nullablebody_type string nullablecolor string nullableowner_count integer nullablerto string nullablecurrency string (default: "INR")price number nullableprice_with_taxes number nullableprice_without_gst number nullableprice_without_tax number nullabletax_percent number nullablebase_price number nullableoriginal_price number nullableoriginal_price_without_tax number nullableoriginal_base_price number nullablediscount number nullablediscount_name string nullablediscount_ends_at integer nullablediscount_starts_at integer nullablediscount_sale_type string nullablediscounted_price number nullablediscounted_price_without_gst number nullablediscounted_car_price number nullablediscounted_tcs number nullableemi_monthly number nullableemi_monthly_before_offer number nullableloan_interest_rate number nullableloan_interest_rate_before_offer number nullableloan_amount number nullableloan_amount_min number nullableloan_amount_max number nullableloan_tenure_years number nullableloan_tenure_years_min number nullableloan_tenure_years_max number nullableloan_to_value_max_percent number nullablehas_loan_offer boolean nullableloan_offer_savings number nullabletoken_amount number nullabletoken_amount_max number nullableexchange_bonus number nullablecategory string nullableprocurement_category string nullableis_max_certified boolean nullableis_sold boolean nullableis_booked boolean nullableis_upcoming boolean nullableis_on_hold boolean nullablehold_ends_at integer nullableis_unpublished boolean nullablehas_home_test_drive boolean nullablehas_360_view boolean nullableshortlist_count integer nullablecity string nullablehub_id string nullablehub_name string nullableimage string nullableimages array (default: [])highlights array (default: [])@type string (default: "SpinnyHighlight")detail string nullableshort_title string nullabletag string nullablestrength string nullableprice_breakdown array (default: [])@type string (default: "SpinnyPriceItem")name string requiredlabel string nullableamount number nullabledescription string nullableinsurance object nullable@type string (default: "SpinnyInsurance")third_party_premium number nullablethird_party_insurer string nullablepersonal_accident_cover number nullablepersonal_accident_insurer string nullablepremium_total number nullablegst number nullablegst_percent number nullabletotal number nullablecomponents array (default: [])@type string (default: "SpinnyPriceComponent")name string requiredlabel string nullableamount number nullabledescription string nullableinsurance object nullable (see schema SpinnyInsurance)price_summary array (default: [])@type string (default: "SpinnyPriceItem")name string requiredlabel string nullableamount number nullabledescription string nullableinsurance object nullable@type string (default: "SpinnyInsurance")third_party_premium number nullablethird_party_insurer string nullablepersonal_accident_cover number nullablepersonal_accident_insurer string nullablepremium_total number nullablegst number nullablegst_percent number nullabletotal number nullablecomponents array (default: [])@type string (default: "SpinnyPriceComponent")name string requiredlabel string nullableamount number nullabledescription string nullableinsurance object nullable (see schema SpinnyInsurance)price_summary_without_tax array (default: [])@type string (default: "SpinnyPriceItem")name string requiredlabel string nullableamount number nullabledescription string nullableinsurance object nullable@type string (default: "SpinnyInsurance")third_party_premium number nullablethird_party_insurer string nullablepersonal_accident_cover number nullablepersonal_accident_insurer string nullablepremium_total number nullablegst number nullablegst_percent number nullabletotal number nullablecomponents array (default: [])@type string (default: "SpinnyPriceComponent")name string requiredlabel string nullableamount number nullabledescription string nullableinsurance object nullable (see schema SpinnyInsurance)variant_id string nullabledescription string nullableseats integer nullablelocality string nullablelisting_status string nullablemanufactured_at integer nullableregistered_at integer nullableinsurance_valid_until integer nullableinsurance_type string nullablehas_comprehensive_insurance boolean nullablehas_applicable_insurance boolean nullableapplicable_insurance_valid_until integer nullableexpected_live_at integer nullableemission_norm string nullablepuc_number string nullablepuc_valid_until integer nullablelisted_at integer nullablelast_serviced_at integer nullablenext_service_at integer nullableservice_interval_km integer nullableservice_note string nullableservice_note_detail string nullablemarket_price number nullablehas_buyback boolean nullablebuyback_offers array (default: [])@type string (default: "SpinnyBuyback")months integer requiredvalue number nullablemonthly_cost number nullablebuyback_cost_3_months number nullablebuyback_cost_36_months number nullablehas_extended_warranty boolean nullableextended_warranty_price number nullablehome_test_drive_radius_km integer nullablehub object nullable@type string (default: "SpinnyHub")id string nullablealias string nullablename string requiredaddress string nullabledirections string nullablelatitude number nullablelongitude number nullablemap_url string nullableimage string nullablebenefits array (default: [])@type string (default: "SpinnyBenefit")name string nullabledescription string nullabledetails string nullablevalue number nullablebenefits_total number nullablebenefit_notes array (default: [])@type string (default: "SpinnyNote")text string nullabletop_features array (default: [])features array (default: [])@type string (default: "SpinnyAttribute")group string nullablename string requiredvalue string nullableunit string nullablespecs array (default: [])@type string (default: "SpinnyAttribute")group string nullablename string requiredvalue string nullableunit string nullablemedia array (default: [])@type string (default: "SpinnyMedia")category string requiredlabel string nullableurl string requiredfile_type string nullable422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — Spinny has no listing under that id Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.