# Autopapa Georgia Scraper: Cars, Motorcycles & Dealers (`recordsdata/autopapa-ge-scraper`) Actor

Scrape autopapa.ge, the Georgian car marketplace: used and new cars, SUVs, trucks, motorcycles and trailers with USD and lari price, mileage, customs status, masked VIN, photos, dealers and price-change monitoring. No login, no proxy. Export JSON, CSV or Excel.

- **URL**: https://apify.com/recordsdata/autopapa-ge-scraper.md
- **Developed by:** [RecordsData](https://apify.com/recordsdata) (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 $22.00 / 1,000 vehicle listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

![RecordsData](https://api.apify.com/v2/key-value-stores/AAm3a1h3Z9nYfrvh9/records/banner?v=3)

## Autopapa Georgia Scraper: Used and New Car Listings from autopapa.ge

> Autopapa Georgia Scraper is an Apify Actor that extracts vehicle listings from autopapa.ge, the Georgian car marketplace for used and new cars, SUVs, trucks, minibuses, motorcycles, trailers and boats. Each row has the USD price, the lari price, year, mileage, engine, fuel, gearbox, drive, color, customs status, photos, city and seller type. It also returns dealer profiles and price-change rows. No login, proxy or browser is needed. Pricing is pay per result.

Export the result as JSON, CSV, Excel, XML or HTML, or read it through the Apify API. The actor reads the same server-rendered pages the site shows to visitors, one request per second as the site's robots.txt asks, so ten listings arrive about every 1.2 seconds.

### What can you scrape from Autopapa?

- **Vehicle listings**: about 15,800 live ads (the site reported 15,867 on 2026-10-19) with price, year, mileage, engine volume, fuel, transmission, steering side, customs status and the cover photo.
- **Detail pages** (optional): full photo gallery, equipment list, seller description, drive type, color, interior, doors, seats, horsepower, cylinders, masked VIN, views, publication date, video link and the price in Georgia including customs clearance.
- **Dealers**: the dealer directory with business description, social links, number of cars, VIP flag and, on request, the business phone and email.
- **Price changes**: with monitoring on, a repeat run returns only listings it has not delivered before, and a listing whose price moved comes back with the previous price and the change in percent.

### Why use this actor?

- **Whole catalogue reachable**: no depth cap. Page 1,580 of the unfiltered search still answers, so a full read is possible and takes about half an hour.
- **Real filters, applied by the site**: 74 makes, models, 46 cities, 7 locations of the vehicle (Georgia, USA, China, Japan, Armenia, Azerbaijan, on the way), price, year, mileage, engine volume and power ranges, body type, fuel, gearbox, drive, steering side, colors, condition, customs status, doors, seats, interior and 5 yes/no flags.
- **Two currencies**: price in US dollars as listed, plus `priceGel` converted at the lari rate the site itself publishes.
- **Clean, typed output**: numbers are numbers, enums are lowercase English, dates are ISO 8601, and absent values are left out instead of being filled with `null`.
- **Privacy built in**: private sellers' names and phone numbers are never output, and phones and emails are removed from private descriptions.

### How to scrape Autopapa car listings in four steps

1. Choose **What to collect** on the actor page.
2. Add makes such as `Toyota` or `BMW`, or leave them empty, and set filters such as price, year or city.
3. Set the maximum number of results and click **Start**.
4. Download the dataset from the **Storage** tab.

### Three ways to collect data

| Mode (`mode`) | Use it to | Record types |
|---|---|---|
| `search` | Find listings by make, model, city and the full filter set | `vehicle`, `vehicle-detail` |
| `urls` | Refresh known listings by number or address, replay a search address of the site, or read one dealer and its cars | `vehicle-detail`, `vehicle`, `dealer` |
| `dealers` | List the car dealers and optionally their cars | `dealer`, `vehicle` |

Make, model and city names are looked up on the site at run time and are not case sensitive. A name the site does not know ends the run with one free error row that suggests close matches.

### Input

The form has 47 fields. These are the ones you will use most; the rest (steering side, colors, interior, condition, customs, doors, seats, posted-within, yes/no flags, dealer options, monitor controls) are in the input form of the actor page.

| Field | Type | Default | Meaning |
|---|---|---|---|
| `mode` | string | `search` | What to collect: `search`, `urls` or `dealers` |
| `maxItems` | integer | 50 | Maximum results (free plans: 10) |
| `makes` | array | empty | Makes as written on the site, for example `Toyota` |
| `models` | array | empty | Models inside the chosen makes, for example `Prius` |
| `cities` | array | empty | Georgian cities such as `Tbilisi`, `Batumi`, `Kutaisi` |
| `country` | string | `any` | Where the vehicle is: `georgia`, `usa`, `china`, `japan`, `armenia`, `azerbaijan`, `on-the-way` |
| `yearFrom` / `yearTo` | integer | none | Model year range |
| `priceFrom` / `priceTo` | integer | none | Price range in US dollars |
| `mileageFrom` / `mileageTo` | integer | none | Odometer range in km |
| `bodyTypes` / `fuelTypes` | array | empty | Body types (17) and fuel types (7) |
| `transmission` / `driveType` | string | `any` | Gearbox and drive filters |
| `sortBy` | string | `newest` | `newest`, `oldest`, `popularity`, `price-asc`, `price-desc` |
| `startUrls` / `listingIds` | array | empty | Addresses and listing numbers for `urls` mode |
| `scrapeDetails` | boolean | false | Open every listing page for the full gallery, equipment and seller block |
| `includeContactDetails` | boolean | false | Add dealer business phone and email |
| `onlyNew` / `trackPriceChanges` | boolean | false | Monitor mode: only new listings, and price-change rows |

A minimal example input:

```json
{
  "mode": "search",
  "makes": ["Toyota"],
  "models": ["Prius"],
  "priceTo": 12000,
  "yearFrom": 2015,
  "cities": ["Tbilisi"],
  "sortBy": "price-asc",
  "maxItems": 100
}
```

### What data do you get?

Every row has a `recordType`: `vehicle`, `vehicle-detail`, `price-change` or `dealer`. Fields that do not apply to a record type are left out.

| Field | Description |
|---|---|
| `recordType` | The record type |
| `listingId`, `dealerId` | Listing number and dealer number |
| `title`, `url`, `imageUrl` | Listing title, address and cover photo |
| `make`, `model`, `year`, `vehicleType` | Make, model, model year and `car`, `motorcycle`, `scooter`, `truck`, `bus`, `minibus`, `trailer`, `watercraft`, `quadricycle` or `special-vehicle` |
| `bodyType`, `fuelType`, `transmission`, `driveType`, `steeringSide` | Specification as lowercase English enums |
| `color`, `interiorColor`, `interiorMaterial`, `doors`, `seats` | Appearance and cabin (detail rows) |
| `engineSize`, `engineSizeUnit`, `powerHp`, `cylinders` | Engine size with its unit (`L` for cars, `cc` for two-wheelers), power in horsepower and cylinders |
| `mileage`, `mileageUnit`, `condition` | Odometer in km and the condition the seller states |
| `customsCleared`, `vinMasked` | Customs duty paid or not, and the VIN as the site masks it |
| `price`, `currency`, `priceGel`, `priceNegotiable` | Asking price in USD, the lari price, and `true` when the price is negotiable and none is shown |
| `priceInGeorgiaWithCustoms` | Price in Georgia including customs clearance (detail rows) |
| `previousPrice`, `priceChange`, `priceChangePct`, `changeType` | Price-change rows: old price, difference, percent, `price-drop` or `price-increase` |
| `country`, `city`, `location`, `stockLocation`, `atAutopapaMarket` | Where the vehicle is: `stockLocation` is `in-georgia`, `abroad`, `on-the-way`, `by-order` or `auction`, and whether it stands at the Autopapa car market |
| `features`, `description` | Equipment list and the seller's text, with contacts removed |
| `images`, `imageCount`, `videoUrl` | Full-size gallery, photo count and video link (detail rows) |
| `viewCount`, `publishedAt`, `isTopListing` | Views, publication date and whether the listing is promoted |
| `sellerType`, `isPrivateSeller`, `sellerName`, `sellerUrl`, `sellerLogo` | `dealer` or `private`; dealer identity is filled for dealers only |
| `sellerPhone`, `sellerEmail` | Dealer business contact, only with **Include dealer contact details** |
| `socialLinks`, `vehicleCount`, `isVipDealer` | Dealer rows: social profiles, number of cars and VIP flag |

#### Sample output

A real `vehicle-detail` row from a cloud run (photo list shortened to two of 23, description shortened):

```json
{
  "imageUrl": "https://autopapa.ge/system/car/photos/009/477/855/original.jpg",
  "recordType": "vehicle-detail",
  "title": "Toyota RAV 4",
  "listingId": "961190",
  "url": "https://autopapa.ge/en/usd/toyota/rav-4/961190",
  "sourceSite": "autopapa.ge",
  "country": "Georgia",
  "city": "Rustavi",
  "location": "Rustavi, Georgia",
  "stockLocation": "in-georgia",
  "vehicleType": "car",
  "make": "Toyota",
  "model": "RAV 4",
  "year": 2021,
  "bodyType": "suv",
  "fuelType": "petrol",
  "transmission": "automatic",
  "driveType": "four-wheel drive",
  "steeringSide": "left",
  "color": "navy",
  "interiorColor": "black",
  "interiorMaterial": "textiles",
  "doors": "4/5",
  "seats": "4-5",
  "engineSize": 2.5,
  "engineSizeUnit": "L",
  "cylinders": 4,
  "mileage": 14000,
  "mileageUnit": "km",
  "condition": "good",
  "customsCleared": false,
  "vinMasked": "2T3P.........8505",
  "price": 19800,
  "currency": "USD",
  "priceGel": 51444,
  "priceInGeorgiaWithCustoms": 21488,
  "features": [
    "airbags: >6",
    "climate control: two-section"
  ],
  "description": "Seller text, contacts removed",
  "images": [
    "https://autopapa.ge/system/car/photos/009/477/855/original.jpg",
    "https://autopapa.ge/system/car/photos/009/477/856/original.jpg"
  ],
  "imageCount": 23,
  "viewCount": 450,
  "publishedAt": "2026-09-18",
  "sellerType": "private",
  "isPrivateSeller": true,
  "scrapedAt": "2026-10-19T05:20:34.514Z"
}
```

### Monitor new listings and price drops

Switch on **Only new listings (monitor)** and the actor remembers every listing it delivered, in a named key-value store of your own account. Scheduled runs of the same search return only unseen listings. Add **Report price changes** and a repriced listing comes back as a `price-change` row. Skipped listings are never charged but are still read, so keep scheduled searches narrow and sort by newest. **Monitor name** keeps one memory per saved search.

### How much does the Autopapa Georgia Scraper cost?

Pay per result, no monthly fee, and a free tier on the Apify free plan. Prices are set per event; the Pricing tab of the actor page shows the live rate.

| Event | Charged for | Price per result | Per 1,000 results |
|---|---|---|---|
| Vehicle record | One listing from the search result | $0.0060 | $6.00 |
| Vehicle record with detail page | One listing opened on its own page | $0.0090 | $9.00 |
| Price change record | One listing whose price moved | $0.0060 | $6.00 |
| Dealer record | One dealer | $0.0090 | $9.00 |

Worked examples:

- 1,000 vehicle listings cost 1,000 x $0.0060 = $6.00.
- 1,000 listings with detail pages cost 1,000 x $0.0090 = $9.00.
- A daily monitor run that finds 40 new listings and 10 price changes costs 40 x $0.0060 + 10 x $0.0060 = $0.30.

Error rows, empty searches and listings skipped by monitoring are never charged.

### How does it compare with other Georgian car scrapers?

Rival read on 2026-10-19: [logiover/myauto-georgia-car-scraper](https://apify.com/logiover/myauto-georgia-car-scraper), which covers a different marketplace, myauto.ge (24 runs and 1 user in 30 days).

| | Autopapa Georgia Scraper | logiover MyAuto.ge scraper |
|---|---|---|
| Source | autopapa.ge | myauto.ge |
| Fields | 63 flat, typed keys | 32 fields, with fuel, gearbox and drive as numeric ids |
| Record types | Listings, listing detail, price changes, dealers | Listings |
| Monitoring and price-change rows | Built in | Not in its published output |
| Price | From $0.0060 per result | $0.0050 per result, falling to $0.0035 on higher Store tiers |

The rival is cheaper per result and reads the larger marketplace; the two sites list different cars, so many buyers use both. Choose this actor for autopapa.ge listings, the imported-car data (customs status, price including customs, location abroad or on the way), dealers, photos and monitoring.

### Is it legal to scrape Autopapa? Limits and responsible use

The actor reads public listing pages. It does not log in, solve captchas or bypass any protection, it keeps to the request pace of one per second that the site's robots.txt asks for, and it never opens the VIN lookup path that robots.txt disallows. The site publishes no terms of use for visitors beyond parking contracts at the time of writing; check the site yourself, since this can change. Private sellers' names and phones are never output, and phones, emails and messenger handles are removed from descriptions of private sellers: a short line that mixes a contact and a few words is removed whole. Dealer business data is kept, and business phones only appear with **Include dealer contact details**. You are responsible for using the data in line with the site terms and Georgian data protection law.

Limits:

- The VIN is the masked form the site shows (for example `1HD1.........2483`). The full VIN lookup is not read.
- The site sets no price for some listings ("price negotiable"). Those rows carry `priceNegotiable: true` and no `price`.
- Mileage typed as 0 on a used vehicle is left out; a 0 km reading is kept only for new vehicles.
- Only 13 dealer accounts exist today and one of them lists cars.
- Free Apify plans are limited to 10 results per run.

### Use with AI agents (MCP)

Connect the Apify MCP server to Claude, Cursor or another MCP client and this actor appears as a tool: `https://mcp.apify.com?tools=RecordsData/autopapa-ge-scraper`.

Example prompt: "Find the 20 cheapest customs-cleared Toyota Prius from 2015 or newer in Tbilisi on Autopapa and list price, mileage, color and city." The agent sends `{ "mode": "search", "makes": ["Toyota"], "models": ["Prius"], "yearFrom": 2015, "cities": ["Tbilisi"], "customs": "cleared", "sortBy": "price-asc", "maxItems": 20 }` and analyzes the rows.

### Run it from code

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

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('RecordsData/autopapa-ge-scraper').call({
    mode: 'search',
    makes: ['Toyota'],
    models: ['Prius'],
    yearFrom: 2015,
    maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, items[0].title, items[0].price);
```

The Apify API and the JavaScript and Python clients start runs and read datasets. You can also call the actor from Make, Zapier, n8n or any tool that talks to the Apify API, and schedule it from the Apify Console.

### Frequently Asked Questions

#### Which vehicles does it cover?

Everything listed on autopapa.ge: cars and SUVs, minivans, pickups, trucks, buses and minibuses, motorcycles and scooters, quadricycles, trailers, boats and special vehicles, both new and used, in Georgia and the imported cars that are still abroad or on the way to Georgia.

#### Do I need a proxy, a login or an API key?

No. The actor makes plain HTTP requests to the public site and needs no proxy, browser or Autopapa account. A proxy field exists only as an escape hatch and is off by default. You only need an Apify account to start runs.

#### Is it legal to scrape Autopapa?

The actor reads publicly visible listings and does not log in. It respects the request pace in robots.txt and never fetches the path robots.txt disallows. Personal data of private sellers is not output, but you remain responsible for how you use the data, including under Georgian data protection law.

#### How much does a run cost?

The actor is billed per result: $0.0060 per vehicle listing, $0.0090 per listing with its detail page, $0.0060 per price change and $0.0090 per dealer. So 1,000 vehicle listings cost $6.00. The Pricing tab of the actor page shows the live rate. Error rows and listings skipped by monitoring are never charged.

#### Why is the price in US dollars and what is priceGel?

The actor reads the dollar view of the site, so `price` is the dollar price the seller set. `priceGel` converts it at the lari rate that the site publishes on its listing pages, and matches the lari price the site shows.

#### What is priceInGeorgiaWithCustoms?

For vehicles that are still abroad the site shows the expected price in Georgia including customs clearance. The actor returns it as `priceInGeorgiaWithCustoms` on detail rows, together with `customsCleared`.

#### Why is there no phone number in the rows?

Dealer phones are returned only when you switch on **Include dealer contact details**, and only for dealers, which are businesses. Private sellers' phones and names are never returned.

#### Can I get only the listings published since my last run?

Yes. Switch on **Only new listings (monitor)** and keep the same search settings, or the same **Monitor name**. Add **Report price changes** to also get a row when a listing changes price. Scheduled runs then return only new or repriced listings, and listings you have already received are never charged again.

#### How many results can I get in one run?

The site sets no cap: about 15,800 listings are reachable and a full read takes about half an hour. Set `maxItems` to what you need. Free Apify plans are limited to 10 results per run; paid plans use the value you set.

#### What happens when the search finds nothing or the input is wrong?

A search with no hits ends as succeeded with an empty dataset and charges nothing. A wrong input value, for example a price range where the minimum is above the maximum, or a make the site does not list, ends as succeeded with one free error row that explains the problem, so a typo never costs you money.

### Support

Questions, a missing field or a feature request: contact.punkrecordsdata@gmail.com. Reviews on the actor page help other people find it.

This actor is an independent tool and is not affiliated with autopapa.ge.

# Actor input Schema

## `mode` (type: `string`):

search = vehicle ads for the makes, places and filters below. urls = listing addresses, listing numbers, search addresses and dealer pages you list. dealers = the car dealer directory with business data and stock counts.

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

Stops after this many rows (all record types together). Free plans are limited to 10 items per run.

## `makes` (type: `array`):

Car makes as written on the site, for example Toyota, BMW, Mercedes-Benz or Ford. Case and spaces do not matter. The make list is read from the site at run time, an unknown make is reported with close suggestions. Empty means every make.

## `models` (type: `array`):

Models inside the makes above, for example Prius, Camry or X5. Needs at least one make. A model that does not exist for the chosen makes is reported with examples.

## `cities` (type: `array`):

Georgian cities that have ads, for example Tbilisi, Batumi, Kutaisi or Rustavi. Each city is a separate search. Leave empty for the whole country. Cannot be combined with a country other than Georgia.

## `country` (type: `string`):

Country where the vehicle is located: already in Georgia, or still abroad (USA, China, Japan, Armenia, Azerbaijan) or on the way to Georgia.

## `yearFrom` (type: `integer`):

Only vehicles of this model year or newer. 0 or empty means no limit.

## `yearTo` (type: `integer`):

Only vehicles of this model year or older. 0 or empty means no limit.

## `priceFrom` (type: `integer`):

Only ads priced at or above this amount in US dollars. 0 or empty means no limit.

## `priceTo` (type: `integer`):

Only ads priced at or below this amount in US dollars. 0 or empty means no limit.

## `mileageFrom` (type: `integer`):

Only vehicles with at least this odometer reading. 0 or empty means no limit.

## `mileageTo` (type: `integer`):

Only vehicles with at most this odometer reading. 0 or empty means no limit.

## `engineVolumeFrom` (type: `number`):

Only engines of at least this size in litres, for example 1.6. 0 or empty means no limit.

## `engineVolumeTo` (type: `number`):

Only engines of at most this size in litres, for example 2.5. 0 or empty means no limit.

## `powerFrom` (type: `integer`):

Only vehicles with at least this engine power in horsepower. 0 or empty means no limit.

## `powerTo` (type: `integer`):

Only vehicles with at most this engine power in horsepower. 0 or empty means no limit.

## `bodyTypes` (type: `array`):

Vehicle types to keep: cars (sedan, SUV and others), trucks, buses, motorcycles, scooters, trailers or boats. Leave empty for all.

## `fuelTypes` (type: `array`):

Engine types to keep. Leave empty for all.

## `transmission` (type: `string`):

Gearbox type.

## `driveType` (type: `string`):

Which wheels are driven.

## `steeringSide` (type: `string`):

Left-hand or right-hand drive. Imported Japanese cars are often right-hand drive.

## `colors` (type: `array`):

Exterior colors to keep. Leave empty for all.

## `condition` (type: `string`):

Condition stated by the seller.

## `customs` (type: `string`):

Whether Georgian customs duty is already paid. Vehicles that are not cleared are usually still abroad or on the way.

## `doors` (type: `string`):

Number of doors.

## `seats` (type: `string`):

Number of seats.

## `interiorMaterial` (type: `string`):

Seat material.

## `interiorColor` (type: `string`):

Interior color.

## `postedWithin` (type: `string`):

Only ads published in this period. Useful for daily monitoring together with sorting by newest.

## `checkedByAutopapa` (type: `boolean`):

Only vehicles the marketplace itself inspected.

## `withCarfax` (type: `boolean`):

Only ads that carry a Carfax history report.

## `withVideo` (type: `boolean`):

Only ads that include a video.

## `fromEurope` (type: `boolean`):

Only vehicles imported from Europe.

## `withoutGeorgiaMileage` (type: `boolean`):

Only vehicles that have not been driven in Georgia.

## `sortBy` (type: `string`):

Order of the results. Newest first is best for monitoring.

## `startUrls` (type: `array`):

urls mode. autopapa.ge listing pages (https://autopapa.ge/en/usd/...), search result pages with filters, the dealer list (/business) or one dealer page (/business/<name>). Listing numbers can go in the next field.

## `listingIds` (type: `array`):

urls mode. The number at the end of a listing address, for example 962571. Five to nine digits.

## `dealerQuery` (type: `string`):

dealers mode. Keeps only dealers whose name contains this text. Empty means every dealer.

## `includeDealerVehicles` (type: `boolean`):

On: after each dealer record, also read that dealer's vehicle listings (each one is a vehicle record).

## `scrapeDetails` (type: `boolean`):

On: open each listing page to add the full photo gallery, description, equipment, VIN (masked), views, publication date and seller block (vehicle-detail-record). Off: the data of the search result only, much faster (vehicle-record).

## `includeContactDetails` (type: `boolean`):

Adds the business phone and email of dealerships and keeps phone numbers inside their descriptions. Private seller names, phones and emails are never output.

## `onlyNew` (type: `boolean`):

Skips every listing seen in an earlier run with the same monitor name, so scheduled runs return only what is new.

## `trackPriceChanges` (type: `boolean`):

Needs Only new listings. A listing seen before with a different price comes back as a price-change-record with the previous price and the change in percent.

## `stateKey` (type: `string`):

Name of the memory used by Only new listings. Use one name per saved search. Empty derives a name from your filters.

## `resetSeen` (type: `boolean`):

Clears the memory of the monitor name before this run.

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

How many listing pages are read at the same time (1 to 5). The site asks for about one request per second, so requests are paced and a higher value adds little.

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

Optional. Empty means direct requests, which work. Add a proxy only if your own network needs one.

## Actor input object example

```json
{
  "mode": "search",
  "maxItems": 10,
  "makes": [
    "Toyota"
  ],
  "models": [],
  "cities": [],
  "country": "any",
  "bodyTypes": [],
  "fuelTypes": [],
  "transmission": "any",
  "driveType": "any",
  "steeringSide": "any",
  "colors": [],
  "condition": "any",
  "customs": "any",
  "doors": "any",
  "seats": "any",
  "interiorMaterial": "any",
  "interiorColor": "any",
  "postedWithin": "any",
  "checkedByAutopapa": false,
  "withCarfax": false,
  "withVideo": false,
  "fromEurope": false,
  "withoutGeorgiaMileage": false,
  "sortBy": "newest",
  "startUrls": [],
  "listingIds": [],
  "dealerQuery": "",
  "includeDealerVehicles": false,
  "scrapeDetails": false,
  "includeContactDetails": false,
  "onlyNew": false,
  "trackPriceChanges": false,
  "stateKey": "",
  "resetSeen": false,
  "maxConcurrency": 2,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

Key fields per row

## `fullData` (type: `string`):

Complete dataset with all fields

# 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 = {
    "maxItems": 10,
    "makes": [
        "Toyota"
    ],
    "models": [],
    "cities": [],
    "yearFrom": 0,
    "yearTo": 0,
    "priceFrom": 0,
    "priceTo": 0,
    "mileageFrom": 0,
    "mileageTo": 0,
    "engineVolumeFrom": 0,
    "engineVolumeTo": 0,
    "powerFrom": 0,
    "powerTo": 0,
    "startUrls": [],
    "listingIds": [],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("recordsdata/autopapa-ge-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 = {
    "maxItems": 10,
    "makes": ["Toyota"],
    "models": [],
    "cities": [],
    "yearFrom": 0,
    "yearTo": 0,
    "priceFrom": 0,
    "priceTo": 0,
    "mileageFrom": 0,
    "mileageTo": 0,
    "engineVolumeFrom": 0,
    "engineVolumeTo": 0,
    "powerFrom": 0,
    "powerTo": 0,
    "startUrls": [],
    "listingIds": [],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("recordsdata/autopapa-ge-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 '{
  "maxItems": 10,
  "makes": [
    "Toyota"
  ],
  "models": [],
  "cities": [],
  "yearFrom": 0,
  "yearTo": 0,
  "priceFrom": 0,
  "priceTo": 0,
  "mileageFrom": 0,
  "mileageTo": 0,
  "engineVolumeFrom": 0,
  "engineVolumeTo": 0,
  "powerFrom": 0,
  "powerTo": 0,
  "startUrls": [],
  "listingIds": [],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call recordsdata/autopapa-ge-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,recordsdata/autopapa-ge-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/H9lgB5hZWRxaBQqB0/builds/3vWrtOAjij1JIHm6a/openapi.json
