# IAAI Vehicle Detail Scraper — Salvage Cars, Damage & Bids (`haketa/iaai-scraper`) Actor

Extract full IAAI salvage-auction vehicle details: VIN, make/model/year, primary & secondary damage, loss type, odometer, title brand & state, run-and-drive, keys, ACV, repair estimate, branch, auction date, current bid, buy-now and image galleries. Search keywords, browse categories or paste URLs.

- **URL**: https://apify.com/haketa/iaai-scraper.md
- **Developed by:** [Haketa](https://apify.com/haketa) (community)
- **Categories:** E-commerce, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## IAAI Vehicle Detail Scraper — Salvage Cars, Damage, Bids & Images

Pull complete, structured vehicle records from **IAAI salvage auctions** in one run. Search by keyword, browse an entire category or make, or paste vehicle URLs — every matching lot comes back with its full detail record: VIN, year/make/model, primary and secondary **damage**, **loss type**, odometer, **title brand & state**, run‑and‑drive status, keys, **actual cash value (ACV)**, repair estimate, branch location, auction date, current bid, buy‑now price and the **complete image gallery**.

Built for **used‑car dealers, exporters, rebuilders, dismantlers, parts sellers, appraisers and market analysts** who need salvage‑auction data as clean JSON, CSV or Excel instead of clicking through hundreds of listings.

***

### ✨ Why use this scraper

- **Full detail on every vehicle** — not just the summary you see on a results page. Each record carries 60+ fields covering identity, specification, condition, damage, title, location, sale and media.
- **Three ways to target vehicles** — free‑text keyword search, whole‑category / whole‑make browsing, or a direct list of vehicle URLs / IDs.
- **Damage & salvage intelligence** — primary and secondary damage, loss type, run‑and‑drive, starts, airbag state, vehicle grade and estimated repair cost. Exactly the fields a rebuilder or exporter prices a car on.
- **Auction & money fields** — actual cash value (ACV), minimum bid, current bid, buy‑now price, bid increment, auction date, sale lane and branch.
- **Complete image galleries** — every photo URL for each lot, plus the 360° view link when available.
- **Clean, typed output** — numbers as numbers, booleans as booleans, ready for spreadsheets, databases and BI tools.
- **Export anywhere** — JSON, CSV, Excel, HTML or via the Apify API and integrations.

***

### 🚀 Quick start

1. Enter one or more **search keywords** (for example `Honda Accord`, `Ford F-150`, `salvage Tesla`).
2. *(Optional)* Add **categories or makes** to browse (for example `Cars`, `PickupTrucks`, `Tesla`).
3. *(Optional)* Paste specific **vehicle URLs or IDs**.
4. Set **Maximum vehicles** and click **Start**.

That's it. The scraper collects the matching lots and returns a full detail record for each one.

***

### 📥 Input

| Field | Type | Description |
|---|---|---|
| **Search keywords** (`searchKeywords`) | array | Search IAAI by keyword — make, model, VIN, stock number or free text. Each keyword returns the matching vehicles. |
| **Categories or makes** (`categories`) | array | Browse an entire category or make. Categories: `Cars`, `SUVs`, `PickupTrucks`, `Motorcycles`, `HeavyTrucks`, `MediumTrucks`, `Trailers`, `Rvs`, `Boats`, `Buses`, `IndustrialEquipment`. Makes: `Ford`, `BMW`, `Toyota`, `Tesla`, and so on. |
| **Vehicle URLs or IDs** (`vehicleUrls`) | array | IAAI vehicle‑detail URLs or numeric salvage IDs to scrape directly. |
| **Maximum vehicles** (`maxItems`) | integer | Maximum number of detail records to save. Default `100`. |
| **Concurrent detail requests** (`maxConcurrency`) | integer | How many detail pages to fetch in parallel. Recommended 6–10. |
| **Proxy configuration** (`proxyConfiguration`) | object | US residential proxies are recommended for reliable access. |

#### Example 1 — search by model

```json
{
  "searchKeywords": ["Honda Accord", "Toyota Camry"],
  "maxItems": 200
}
```

#### Example 2 — browse categories and makes

```json
{
  "categories": ["PickupTrucks", "Tesla", "Motorcycles"],
  "maxItems": 300
}
```

#### Example 3 — specific vehicles

```json
{
  "vehicleUrls": [
    "https://www.iaai.com/VehicleDetail/46398111~US",
    "46419452"
  ]
}
```

#### Example 4 — everything together

```json
{
  "searchKeywords": ["salvage BMW", "flood Ford"],
  "categories": ["SUVs"],
  "vehicleUrls": ["46429861"],
  "maxItems": 500,
  "maxConcurrency": 10
}
```

***

### 📤 Output

Each vehicle is one dataset item. Example (fields trimmed for readability):

```json
{
  "id": "46419452~US",
  "stockNumber": "45920364",
  "salvageId": "46419452",
  "vin": "1HGCR3F81FA******",
  "vinStatus": "OK",
  "name": "2015 HONDA ACCORD EX-L V-6",
  "year": 2015,
  "make": "HONDA",
  "model": "ACCORD",
  "series": "EX-L V-6",
  "vehicleType": "AUTOMOBILE",
  "bodyStyle": "SEDAN",
  "engine": "3.5L V-6 VVT, 278HP",
  "displacement": "3.5 L",
  "cylinders": "6 Cyl",
  "fuelType": "Gasoline",
  "transmission": "Automatic",
  "driveLineType": "FWD",
  "exteriorColor": "WHITE",
  "odometer": 78542,
  "odometerBrand": "ACTUAL",
  "odometerUnit": "mi",
  "primaryDamage": "FRONT END",
  "secondaryDamage": "REAR END",
  "lossType": "Collision",
  "runAndDrive": true,
  "starts": "Run & Drive",
  "keys": true,
  "keyFob": true,
  "airbagState": "Intact",
  "vehicleGrade": "45",
  "estimatedRepairCost": null,
  "catalyticConverter": "Present",
  "titleType": "Salvage",
  "titleBrand": "Salvage Certificate",
  "titleState": "FL",
  "titleStateName": "Florida",
  "titleDescription": "SALVAGE (Florida)",
  "sellingBranch": "West Palm Beach (FL)",
  "branchNumber": "784",
  "address": "14344 Corporate Rd S",
  "city": "Jupiter",
  "state": "FL",
  "zip": "33478",
  "phone": "3056856363",
  "latitude": 26.90783,
  "longitude": -80.27388,
  "auctionDate": "8/24/2026 1:30:00 PM +00:00",
  "lane": "D",
  "aisle": "F",
  "currency": "USD",
  "sellerType": "OTHER SELLERS",
  "whoCanBuy": "DEA,DIS,EXP,LBU,REB,SCR",
  "actualCashValue": 7250,
  "minimumBid": 0,
  "currentBid": 1500,
  "buyNowPrice": null,
  "bidIncrement": 25,
  "auctionStatus": "RS",
  "liveDate": "8/24/2026 1:30:00 PM +00:00",
  "primaryImageUrl": "https://vis.iaai.com/resizer?imageKeys=46419452~SID~B784~S0~I1~RW2576~H1932~TH0&width=2576&height=1932",
  "imageUrls": ["...", "...", "..."],
  "imageCount": 18,
  "image360Url": "https://vis.iaai.com/Home/ThreeSixtyView?keys=SID-46419452~STP-1&iframeview=true",
  "shippingEligible": false,
  "createdDate": "8/24/2026 5:48:46 AM +00:00",
  "lastUpdated": "8/24/2026 5:48:46 AM",
  "url": "https://www.iaai.com/VehicleDetail/46419452~US",
  "sourceMode": "search",
  "scrapedAt": "2026-08-24T09:12:00.000Z"
}
```

#### Field reference

**Identity**

| Field | Description |
|---|---|
| `id` | IAAI lot identifier (`salvageId~tenant`). |
| `stockNumber` | Public stock number. |
| `salvageId` | Internal salvage ID used in the URL. |
| `vin` | Vehicle Identification Number as published on the lot. |
| `vinStatus` | VIN status flag (for example `OK`). |
| `name` | Year + make + model + series headline. |

**Specification**

| Field | Description |
|---|---|
| `year`, `make`, `model`, `series` | Core vehicle identity. |
| `vehicleType`, `category` | Inventory type (AUTOMOBILE, MOTORCYCLE, …) and category. |
| `bodyStyle`, `vehicleClass`, `segment` | Body and class. |
| `engine`, `displacement`, `cylinders` | Engine description, litres and cylinder count. |
| `fuelType`, `transmission`, `driveLineType` | Fuel, gearbox and drivetrain. |
| `exteriorColor`, `interiorColor` | Colours. |
| `countryOfOrigin` | Country of manufacture. |
| `odometer`, `odometerBrand`, `odometerUnit` | Reading, brand (ACTUAL / NOT ACTUAL / EXEMPT) and unit. |

**Condition & damage**

| Field | Description |
|---|---|
| `primaryDamage`, `secondaryDamage` | Primary and secondary damage description. |
| `lossType` | Loss category (Collision, Flood, Theft, …). |
| `runAndDrive`, `starts`, `operable` | Drivability signals. |
| `keys`, `keyFob` | Whether keys / key fob are present. |
| `airbagState` | Airbag status (Intact / Deployed / Missing). |
| `vehicleGrade` | IAAI vehicle grade. |
| `estimatedRepairCost` | Estimated repair cost when published. |
| `catalyticConverter`, `navigation`, `hybrid` | Selected equipment / condition flags. |

**Title**

| Field | Description |
|---|---|
| `titleType`, `titleBrand`, `titleCode` | Title type, brand and code. |
| `titleState`, `titleStateName` | Title issuing state. |
| `titleDescription` | Human‑readable title / sale document summary. |

**Location & sale**

| Field | Description |
|---|---|
| `sellingBranch`, `branchNumber`, `branchState` | Selling branch. |
| `locationName`, `address`, `city`, `state`, `zip`, `phone` | Physical location and contact. |
| `latitude`, `longitude` | Branch coordinates. |
| `auctionDate`, `liveDate`, `auctionCloseDate` | Auction timing. |
| `lane`, `slot`, `aisle`, `stall` | Sale run position. |
| `currency`, `market` | Currency and market. |
| `sellerType`, `origin`, `whoCanBuy` | Seller type, origin and eligible buyer classes. |

**Money & bidding**

| Field | Description |
|---|---|
| `actualCashValue` | Actual cash value (ACV). |
| `minimumBid` | Minimum bid amount. |
| `currentBid` | Current high bid when published. |
| `buyNowPrice` | Buy‑now price when offered. |
| `bidIncrement` | Bid increment. |
| `auctionStatus` | Sale status code. |

**Media & meta**

| Field | Description |
|---|---|
| `primaryImageUrl` | Main photo. |
| `imageUrls`, `imageCount` | Full image gallery and count. |
| `image360Url` | 360° view link when available. |
| `conditionReportUrl` | Condition report link when available. |
| `shippingEligible` | Whether the lot is shipping‑eligible. |
| `createdDate`, `lastUpdated` | Lot timestamps. |
| `url` | Canonical vehicle‑detail URL. |
| `sourceMode` | How the vehicle was discovered (`search`, `category`, `direct`). |
| `scrapedAt` | ISO timestamp of the scrape. |

***

### 💡 Use cases

- **Dealers & resellers** — spot undervalued lots by make, model, damage type and location, and build a daily buy list.
- **Exporters** — filter run‑and‑drive cars with clean or salvage titles by branch and ship‑ready status, with ACV and repair context.
- **Rebuilders & body shops** — target specific damage profiles (front‑end, rear‑end, minor) and grade, and estimate margin against ACV.
- **Dismantlers & parts sellers** — find donor vehicles by model and damage, with keys and airbag state.
- **Appraisers & analysts** — track ACV vs. bid over time, build price models, and benchmark by state, title brand and mileage.
- **Insurance & recovery** — monitor total‑loss inventory and salvage values across branches.
- **Data & lead teams** — feed clean vehicle records into CRMs, dashboards and pricing engines.

***

### 📈 Getting more results

- Each **keyword** and each **category / make** returns up to **100 vehicles**. To collect more, add more keywords, makes and categories — for example split by make (`Ford`, `BMW`, `Toyota`) or by body type (`Cars`, `SUVs`, `PickupTrucks`).
- Use several **specific keywords** (`Honda Accord`, `Honda Civic`, `Honda CR-V`) instead of one broad term to reach more unique vehicles.
- Provide **vehicle URLs / IDs** when you already have a watch list.

***

### 🗂️ Supported categories & makes

Use any of these in the **Categories or makes** field. You can mix categories and makes freely.

**Vehicle categories**

- `Cars`
- `SUVs`
- `PickupTrucks`
- `Vans`
- `MediumTrucks`
- `HeavyTrucks`
- `Motorcycles`
- `Rvs`
- `Trailers`
- `Boats`
- `Buses`
- `IndustrialEquipment`
- `Miscellaneous`

**Popular makes**

- American: `Ford`, `Chevrolet`, `RAM`, `Dodge`, `GMC`, `Jeep`, `Cadillac`, `Buick`, `Chrysler`, `Lincoln`, `Tesla`
- Japanese: `Toyota`, `Honda`, `Nissan`, `Mazda`, `Subaru`, `Mitsubishi`, `Lexus`, `Acura`, `Infiniti`
- Korean: `Hyundai`, `Kia`, `Genesis`
- European: `BMW`, `Mercedes-Benz`, `Audi`, `Volkswagen`, `Volvo`, `Porsche`, `Land Rover`, `Jaguar`, `MINI`, `Fiat`
- Motorcycles: `Harley-Davidson`, `Yamaha`, `Kawasaki`, `Suzuki`, `Ducati`, `KTM`
- Trucks: `Freightliner`, `International`, `Peterbilt`, `Kenworth`, `Mack`, `Volvo`

> Tip: browsing a broad category such as `Cars` returns a mixed 100‑vehicle sample. To go deep on a segment, use the specific make (`Ford`) or a precise keyword (`Ford F-150 diesel`).

***

### 🎯 Tips for best results

- **Be specific.** `Honda Accord` returns more relevant, unique vehicles than a broad `Honda`. Precise year/model/trim keywords work well (`2018 Honda Accord Sport`).
- **Split large jobs.** Because each keyword or category returns up to 100 vehicles, break big pulls into several targeted queries — by make, by body type, or by model.
- **Combine inputs.** Mix `searchKeywords`, `categories` and `vehicleUrls` in one run to cover a whole buying strategy at once.
- **Keep a watch list.** Store the `id` or `url` of vehicles you care about and pass them back in `vehicleUrls` to re‑scrape their latest bid and status.
- **Filter after export.** Pull a wide net, then filter the dataset on `primaryDamage`, `lossType`, `runAndDrive`, `titleType`, `odometer` and `actualCashValue` in your spreadsheet, database or BI tool.
- **Schedule it.** Salvage inventory changes daily — schedule the run to keep a fresh feed and track how bids and ACV move over time.

***

### 🔌 Run it your way

- **Apify Console** — fill in the form and click Start.
- **API** — start runs and pull the dataset programmatically.
- **Scheduler** — run daily or hourly to keep a fresh salvage feed.
- **Integrations** — push results to Google Sheets, Zapier, Make, webhooks, S3 and more.

***

### ❓ FAQ

**How many vehicles can I collect?**
As many as you like across multiple keywords, makes and categories. Each individual keyword or category returns up to 100 vehicles; combine several to scale into the thousands.

**Do I need to log in to IAAI?**
No. The scraper collects the publicly visible detail on each lot. Some fields (for example a full unmasked VIN) are only shown to signed‑in IAAI members and are returned exactly as published publicly.

**Which countries / markets are covered?**
US IAAI inventory. Use US residential proxies (the default) for reliable access.

**Can I filter by damage, title or run‑and‑drive?**
Target them with keywords and categories, then filter the exported dataset (JSON/CSV/Excel) on fields such as `primaryDamage`, `titleType`, `runAndDrive`, `odometer` and `actualCashValue` in your spreadsheet or database.

**Why is `currentBid` sometimes empty?**
Lots that have not yet received a bid, or whose bid is only shown to signed‑in members, return an empty current bid. All other sale fields (ACV, minimum bid, auction date, branch) are still included.

**In what format is the data?**
Structured JSON by default, exportable to CSV, Excel, HTML and more.

**Does it include vehicle images?**
Yes. Every record includes the full gallery of photo URLs (`imageUrls`), the image count, the main photo (`primaryImageUrl`), and the 360° view link when the lot has one.

**Can I track how bids change over time?**
Yes. Schedule the run and keep the `id`/`url` of the vehicles you follow. Re‑scraping returns the latest `currentBid`, `auctionStatus` and `auctionDate`, so you can build a time series of bid and ACV movement.

**How fresh is the data?**
Every field is read live from the vehicle's detail page at scrape time, and each record carries a `scrapedAt` timestamp plus the lot's own `lastUpdated` value.

**Can I run this on a schedule or via API?**
Yes. Use the Apify Scheduler for recurring runs, or start runs and fetch the dataset through the Apify API and its integrations (Google Sheets, Zapier, Make, webhooks, S3, and more).

***

### ⚖️ Legal & responsible use

This tool collects **publicly available** information for legitimate business use such as market research, valuation and inventory analysis. You are responsible for how you use the data and for complying with all applicable laws and regulations, the website's terms, and data‑protection rules (including GDPR/CCPA where relevant). Do not use the output to infringe intellectual‑property rights or for any unlawful purpose. This scraper is not affiliated with, endorsed by, or connected to IAAI or its parent companies; all trademarks belong to their respective owners.

***

#### Tags

`iaai` · `iaai scraper` · `salvage vehicles` · `salvage auction` · `insurance auto auctions` · `used cars` · `car auction` · `vehicle data` · `vin` · `damage` · `salvage title` · `copart alternative` · `auto export` · `vehicle detail` · `car scraper`

# Actor input Schema

## `searchKeywords` (type: `array`):

Search IAAI by keyword — make, model, VIN, stock number or free text. Each keyword returns the matching vehicles. Example: Honda Accord, Ford F-150, salvage Tesla.

## `categories` (type: `array`):

Browse a whole category or make. Categories: Cars, SUVs, PickupTrucks, Motorcycles, HeavyTrucks, MediumTrucks, Trailers, Rvs, Boats, Buses, IndustrialEquipment. Makes: Ford, BMW, Toyota, Tesla, etc.

## `vehicleUrls` (type: `array`):

IAAI vehicle-detail URLs or numeric salvage IDs to scrape directly. Example: https://www.iaai.com/VehicleDetail/46398111~US or 46398111.

## `maxItems` (type: `integer`):

Maximum number of vehicle detail records to save. Each keyword or category returns up to 100 vehicles; add more keywords, makes or categories to collect more.

## `maxConcurrency` (type: `integer`):

How many vehicle-detail pages to fetch in parallel. Recommended 6–10.

## `proxyConfiguration` (type: `object`):

US residential proxies are recommended for reliable access to IAAI.

## Actor input object example

```json
{
  "searchKeywords": [
    "Honda Accord",
    "Ford F-150"
  ],
  "categories": [
    "Cars",
    "PickupTrucks",
    "Tesla"
  ],
  "vehicleUrls": [
    "https://www.iaai.com/VehicleDetail/46398111~US",
    "46398111"
  ],
  "maxItems": 10,
  "maxConcurrency": 8,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchKeywords": [
        "honda accord"
    ],
    "categories": [],
    "vehicleUrls": [],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("haketa/iaai-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchKeywords": ["honda accord"],
    "categories": [],
    "vehicleUrls": [],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("haketa/iaai-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchKeywords": [
    "honda accord"
  ],
  "categories": [],
  "vehicleUrls": [],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call haketa/iaai-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,haketa/iaai-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/cfdq8m95tup3zNNpc/builds/D7s8ReTRqhCShPBvi/openapi.json
