AuctionsApi

API key dashboard and request launcher

@AuctionApiSupport Live catalog
https://api.auctionsapi.com

On this page

API key

Key not checked
Enter a key to see information, statistics and unlock the request generator.

Request statistics

Statistics will appear after checking an active key.
Why the data is cleaner

Not just an API, but an intelligence layer for trustworthy vehicle data.

We turn fragmented listings from many sources into one clean, comparable and predictable dataset. The system removes noise, merges duplicates, standardizes entities and gives you data you can build on without operational chaos.

Inspection reports become one consistent data standard

Sources deliver inspections in different formats, from structured APIs to scans and PDFs. We normalize conclusions, checks, damage, diagnostics, media and files into one predictable contract, so integrations do not need source-specific parsers.

Duplicates are detected even without VIN

When VIN is missing, the system compares photos, specifications, listing history and dozens of indirect signals. Merge decisions are based on multiple indicators, which makes the result feel almost like magic.

Makes and models are normalized into one standard

Each make and model can have dozens or hundreds of synonyms. This database is maintained by a real person, because order and high confidence in this layer cannot be fully delegated to AI.

Locations become precise and comparable

Any location is mapped into one shared location database: country, region, city and coordinates. Each car can receive latitude and longitude, enabling smarter sorting, radius search and geographic analytics.

Vehicle options are standardized as their own system

AI models handle complex, local and multilingual option names, while a human reviews the cases where the model is uncertain. The result is a strong, extensible taxonomy that is usable for filters.

Requests by day

—
Statistics will appear after checking an active key.

Requests by month

—
Statistics will appear after checking an active key.

Important note before using the API

/cars is intended for downloading all cars. It uses scroll pagination: the server creates a temporary scroll context, and the number of requests used to continue that pagination cannot be technically unlimited.

/search is intended for searching cars with filters. It does not have that technical scroll-request limit, but the maximum pagination window is limited to 10k results.

Recommended sync flow: 2-3 times per day, walk through the full /cars feed and store the received cars. Every car that was not present in the latest completed full pass should be treated as archived in your system.

Archived cars disappear from /search and /cars, but usually remain available in the database for about 1 month. During that period /cars/{car_id} and /listing/{domain_id}/{listing_id} can still return them with an archive marker. After roughly 1 month they can disappear from those endpoints too.

New vehicle and listing fields

These fields are additive. Existing response fields remain unchanged. The same boolean names are accepted as /search and /search/count filters where noted.

cylinders
Integer engine-cylinder count on the root car object.
doors
Integer door count on the root car object.
seats
Integer seating capacity on the root car object. /search and /search/count accept seats as an exact integer filter.
has_inspections
Root car boolean. Returned by every car endpoint and accepted as a search filter. Full inspections are included only by detailed endpoints.
has_history_reports
Root car boolean for quick discovery. Returned by every car endpoint and accepted as a search filter.
listings[].has_history_reports
Listing-specific history flag. Use this field when rendering or counting history availability for a particular source listing.
listings[].is_manufacturer_certified
Whether the listing is certified by the vehicle manufacturer or its official dealer program. Also accepted as a search filter.
inspections
Array of full public inspection reports in detailed endpoints.
vehicle_history_reports
Array of full public vehicle-history reports in detailed endpoints. Every report remains tied to its vehicle_ref listing.

Vehicle inspection reports

A car can include standardized inspection reports. The lightweight has_inspections boolean indicates that at least one published report is linked to an active listing.

Endpoint behavior

GET /search
Returns has_inspections only. The inspections array is intentionally omitted to keep search responses compact.
GET /cars
Returns has_inspections and inspections. The array contains public, published reports linked to active listings visible to the API key.
GET /cars/{car_id}
Returns all public, published reports linked to the car’s active listings visible to the API key.
GET /listing/{domain_id}/{listing_id}
Returns reports for the exact domain_id and listing_id pair only.

Public report format

{
      "schema_version": 1,
      "mapper_contract_version": 1,
      "report_id": "inspection_987654",
      "uuid": null,
      "status": "published",
      "visibility": "public",
      "language": "ko",
      "inspected_at": "2026-05-31T04:20:00+00:00",
      "valid_until": "2026-08-31T23:59:59+00:00",
      "created_at": "2026-05-31T04:27:33+00:00",
      "updated_at": null,
      "system_updated_at": "2026-07-07T12:30:00+00:00",
      "vehicle_ref": {
        "domain_id": 123,
        "listing_id": "987654",
        "site_car_id": null,
        "vin": "..."
      },
      "vehicle_snapshot": {
        "title": "...", "brand": "...", "model": "...",
        "year": 2024, "vin": "...", "mileage_km": 24000,
        "fuel_type": "...", "transmission": "...", "engine_type": "..."
      },
      "source": {
        "source_key": "provider", "source_type": "external_api",
        "source_report_id": "987654", "source_language": "ko",
        "mapper_version": "provider-v1", "imported_at": "..."
      },
      "access": {"attach_to_listing": true},
      "participants": [{
        "role_key": "inspector", "name": "...",
        "company_id": 10, "user_id": 20, "source_label": "..."
      }],
      "conclusions": {
        "overall_result_key": "issue", "accident_status_key": "issue",
        "water_damage_status_key": "ok", "fire_damage_status_key": "ok",
        "chemical_damage_status_key": "ok", "biohazard_status_key": "ok",
        "notes": "..."
      },
      "source_claims": [{
        "id": "claim_1", "type_key": "accident", "result_key": "issue",
        "source_code": "...", "source_label": "...", "description": "..."
      }],
      "inspection_blocks": [{
        "id": "exterior", "key": "exterior", "result_key": "issue",
        "source_code": "...", "source_label": "...",
        "description": "...", "sort_order": 10
      }],
      "checked_items": [{
        "id": "item_1", "block_id": "exterior", "block_key": "exterior",
        "part_key": "front_fender_left", "part_label": "...",
        "location_key": "left_front", "location_label": "...",
        "result_key": "issue", "issue_type_keys": ["replaced", "painted"],
        "severity_key": "medium", "damage_rank_key": "rank_2",
        "accident_relevance_key": "cosmetic", "source_code": "...",
        "source_label": "...", "description": "...",
        "recommendation_key": "monitor", "clarification": "...",
        "evidence_media_ids": ["photo_1"], "visual_map_id": "body_map",
        "visual_marker_id": "marker_1", "visual_marker_label": "X",
        "visual_x": 42.5, "visual_y": 21.0,
        "visual_width": 12.0, "visual_height": 8.0,
        "visual_shape_key": "polygon",
        "measurements": [{
          "id": "measurement_1", "type_key": "paint_thickness",
          "value_number": 210, "value_text": null, "unit_key": "micrometer",
          "result_key": "issue", "description": "..."
        }]
      }],
      "diagnostic_errors": [{
        "id": "dtc_1", "system_key": "engine", "system_label": "...",
        "code": "P0001", "description": "...", "status_key": "stored",
        "severity_key": "medium", "source_label": "..."
      }],
      "media": [{
        "id": "photo_1", "type_key": "inspection_photo",
        "external_url": "https://...", "local_path": null, "server_id": null,
        "description": "...", "block_id": "exterior",
        "checked_item_id": "item_1", "sort_order": 1
      }],
      "files": [{
        "id": "file_1", "type_key": "source_report",
        "external_url": "https://...", "local_path": null, "server_id": null,
        "original_name": "report.pdf", "extension": "pdf",
        "description": "...", "block_id": null,
        "checked_item_id": null, "sort_order": 1
      }],
      "limitations": [{
        "id": "limit_1", "type_key": "partial_coverage",
        "description": "...", "source_label": "..."
      }]
    }

Contract rules

  • When no report is available, inspections is an empty array.
  • Only reports with visibility public and a status other than archived are returned.
  • Reports are sorted by system_updated_at descending, created_at descending, then report_id ascending.
  • language identifies the source report language, not the interface language. Translate standardized keys in the client application.
  • id identifies an object inside one report and is not a translation key. Translate canonical block_key, part_key, location_key, result_key and other documented *_key fields; do not build dictionaries from provider abbreviations.
  • Translate, when present: conclusions.*_result_key; source_claims type_key/result_key; inspection_blocks key/result_key; checked_items block_key/part_key/location_key/result_key/issue_type_keys/severity_key/damage_rank_key/accident_relevance_key/recommendation_key/visual_shape_key; measurements type_key/unit_key/result_key; diagnostic_errors system_key/status_key/severity_key; and media, files and limitations type_key.
  • result_key is a normalized high-level outcome. Its complete current value set is ok, issue, not_checked, not_applicable, not_equipped and unknown. None for a leak check, Good and Adequate can all correctly mean ok; unknown never means ok.
  • Stable issue_type_keys currently are scratch, dent, crack, broken, missing, replaced, repaired, painted, corrosion, wear, leak, noise, malfunction, contamination, water_damage, fire_damage, chemical_damage, biohazard, structural_damage, damage, accident_trace and other. Stable block_key values are exterior, interior, body_structure, mechanical, powertrain, electrical, equipment_operation, driver_assistance, tires_wheels, brakes, diagnostics, road_test, documents and other. part_key is an extensible source-independent taxonomy shared by all current and future providers. Existing canonical values keep their meaning, but a report item can move from unknown to a more precise key after reprocessing. New canonical values may be added, so keep an unknown-key fallback. Namespace client dictionary entries by field, for example inspection.result.not_checked and inspection.issue_type.replaced.
  • source_code identifies a source field and may be a word, a path, a number or a single symbol such as O. source_label names the check, and description normally contains the exact selected answer. They are source evidence, not stable translation identifiers.
  • vehicle_snapshot is historical context captured with the report. Current values from the main car object take precedence.
  • created_at is the source creation time. system_updated_at is the time the report was stored or refreshed in the API data layer.

Recommended frontend presentation

Start with the conclusionShow the overall result, inspection date, validity and source first. Use text together with color; never rely on color alone.
Group by inspection blockRender inspection_blocks as sections and place checked_items under their block_key. Sort by sort_order when it is present.
Translate standard keysTranslate result_key, issue_type_keys, severity_key and part_key with your dictionaries. Keep source_label and description as source-language evidence.
Draw body findingsUse visual_map_id and marker coordinates for an interactive body map. Fall back to a grouped issue list when coordinates are missing.
Separate evidenceShow media as a gallery and files as attachments. Link evidence_media_ids and checked_item_id back to the relevant finding.
Keep unknown values honestDisplay unknown or absent data as not provided. Do not interpret it as a successful check. Show limitations close to the conclusion.

Vehicle history reports

Vehicle history is a separate, standardized report tied to a particular listing. It covers registration, ownership, use, mileage and insurance-related events without mixing them into the technical inspection.

Endpoint behavior

GET /search
Returns has_history_reports only. vehicle_history_reports is omitted to keep search responses compact.
GET /cars
Returns has_history_reports and vehicle_history_reports for active listings visible to the API key.
GET /cars/{car_id}
Returns public, published history reports for the car’s active listings visible to the API key.
GET /listing/{domain_id}/{listing_id}
Returns history reports for the exact domain_id and listing_id pair only.

Public report format

{
      "schema_version": 1,
      "mapper_contract_version": 1,
      "report_id": "provider_vehicle_history_987654",
      "status": "published",
      "visibility": "public",
      "language": "ko",
      "created_at": "2026-05-31T04:27:33+00:00",
      "checked_at": "2026-05-31T04:27:33+00:00",
      "system_updated_at": "2026-07-07T12:30:00+00:00",
      "vehicle_ref": {
        "domain_id": 123, "listing_id": "987654",
        "site_car_id": null, "vin": "..."
      },
      "vehicle_snapshot": {
        "title": "...", "brand": "...", "model": "...",
        "year": 2024, "vin": "...", "mileage_km": 24000,
        "listing_id": "987654", "source_domain": "cars.example.com",
        "fuel_type": "gasoline"
      },
      "source": {
        "source_key": "provider_example", "source_type": "external_api",
        "source_report_id": "987654", "source_language": "ko",
        "mapper_version": "provider-history-v1", "imported_at": "..."
      },
      "access": {"attach_to_listing": true},
      "coverage": {
        "completeness_key": "complete", "period_start": "2024-01-01T00:00:00Z",
        "period_end": "2026-05-31T00:00:00Z",
        "section_keys": ["registration", "ownership", "insurance", "usage"]
      },
      "summary": {
        "first_registered_at": "2024-01-15T00:00:00Z",
        "owner_change_count": 1, "registration_change_count": 0,
        "insurance_claim_count": 2, "vehicle_damage_claim_count": 1,
        "vehicle_damage_claim_cost": 1200000,
        "third_party_damage_claim_count": 1,
        "third_party_damage_claim_cost": 350000,
        "total_loss_count": 0, "flood_total_loss_count": 0,
        "flood_partial_loss_count": 0, "theft_count": 0, "currency": "krw"
      },
      "checks": [{
        "id": "check_1", "type_key": "total_loss_history", "result_key": "not_present",
        "count": 0, "source_code": "...", "source_label": "...",
        "description": "...", "evidence_type_key": "source_record",
        "verification_key": "source_reported"
      }],
      "events": [{
        "id": "event_1", "type_key": "owner_change",
        "subtype_key": null, "occurred_at": "2025-03-01T00:00:00Z",
        "ended_at": null, "date_precision_key": "day", "status_key": "completed",
        "mileage_km": 18000, "source_code": "...", "source_label": "...",
        "description": "...", "evidence_type_key": "source_record",
        "verification_key": "source_reported", "organization_name": "...",
        "organization_role_key": "insurer", "currency": "krw",
        "amount_total": 1200000, "amount_insurance_benefit": 1000000,
        "amount_parts": 500000, "amount_labor": 300000, "amount_painting": 400000,
        "details": [{
          "key": "transaction_type", "value_text": "private_transfer",
          "value_number": null, "value_date": null, "unit_key": null,
          "source_code": "...", "source_label": "..."
        }]
      }],
      "media": [{
        "id": "media_1", "type_key": "photo", "external_url": "https://...",
        "local_path": null, "server_id": null, "original_name": "history.jpg",
        "description": "...", "sort_order": 1
      }],
      "files": [{
        "id": "file_1", "type_key": "source_report", "external_url": "https://...",
        "local_path": null, "server_id": null, "original_name": "history.pdf",
        "description": "...", "sort_order": 1
      }],
      "limitations": [{
        "id": "limit_1", "type_key": "partial_coverage",
        "description": "...", "source_label": "..."
      }]
    }

Contract rules

  • A history report belongs to a listing, not to the merged root car. Never copy it automatically to another listing of the same car.
  • When no report is available, vehicle_history_reports is an empty array in detailed endpoints. Exact car lookups can still return a recently archived car, but car-level report arrays are assembled from active listings only; use the exact listing endpoint while that archived listing is retained.
  • Only public reports whose status is not archived are returned.
  • created_at is source creation time, checked_at is the source check time, and system_updated_at is the technical API refresh time.
  • summary is a convenient aggregate; events and checks remain the detailed evidence and should be preserved.
  • Use checks type_key/result_key and events type_key/subtype_key/date_precision_key as stable dictionary inputs. Canonical evidence_type_key, verification_key, status_key, organization_role_key, details[].key and other documented *_key fields follow the same rule. Namespace dictionary keys by field, for example history.event.initial_registration.
  • Translate, when present: coverage completeness_key/section_keys; checks type_key/result_key/evidence_type_key/verification_key; events type_key/subtype_key/date_precision_key/status_key/evidence_type_key/verification_key/organization_role_key; event details key/unit_key; and media, files and limitations type_key.
  • History result_key values: present, not_present, unknown, not_applicable. Date precision: datetime, day, month, year, unknown. Event types: initial_registration, owner_change, registration_change, insurance_claim, insurance_coverage_started, insurance_coverage_gap, maintenance, statutory_inspection, recall, comparative_quote, total_loss, flood_damage, theft, usage_change. Check types: accident_history, total_loss_history, flood_total_loss_history, flood_partial_loss_history, theft_history, lien_history, business_use_history, rental_use_history, government_use_history, insurance_gap_history, odometer_rollback. Existing canonical values keep their meaning, but reprocessing can replace unknown with a more precise key. New values may be added, so keep a readable fallback.
  • id, source_code, source_label, description and raw values are not translation keys. source_code is source-specific and may be a path, a number such as 0, a single symbol such as O or another technical value.
  • The standardized report excludes registration numbers and other private source identities. Internal processing_info and check_tokens are not public API fields.

Recommended frontend presentation

Summary firstUse compact counters for owners, claims, total loss, flood and theft. Always label the currency for monetary totals.
Chronological timelineRender events by occurred_at. Indicate date_precision_key when only a month or year is known instead of inventing an exact date.
Checks as status rowsShow checks separately from events. Translate type_key and result_key, while preserving source_label as supporting evidence.
Event detailsExpand an event to show mileage, organization, amounts and details. Do not hide zero values when they are explicitly reported.
Coverage and limitationsPlace coverage and limitations near the top so users understand which periods and sections the source actually covers.
Multiple reportsShow every report as a separate source tab or section. Do not choose a single primary report or merge events across sources in the client.

API enum values

Use the numeric ID in API requests. Each group shows a compact preview; open the full list to search, select values for /search and copy request-ready fragments.

Endpoints

Parameters are added to the GET request automatically.

Locked

Prompt for your AI coding agent

Copy this block and send it to Codex, Claude, Copilot or another AI agent so it understands the API, limits, endpoints and your current key context.

On this page