# Automobile.tn Tunisia New & Used Cars

> Search used-car adverts on Automobile.tn (Tunisia): brand, model, keyword, price, year, mileage, fiscal power, fuel, gearbox, body, drivetrain, governorate, dealer vs private, and the site's sort orders. 12 adverts per page; the site's own total and per-filter counts come back with every page. Nothing is required: no parameters browses every live advert.
> ReefAPI engine `automobile-tn` · 7 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/automobile-tn/v1/<action>` with a JSON body.
- **Auth:** header `x-api-key: <YOUR_REEFAPI_KEY>` — create one free (1,000 credits, no card): https://reefapi.com/signup
- **Response (every call):** `{ ok: boolean, data: ..., meta: { record_count, credits, ... }, error: { code, message } }` — branch on `ok`. Failed calls are free except verified SHEIN NOT_FOUND on product/detail and price (4 credits).
- **One key + one shared credit pool** across every ReefAPI API. Per-call credits are listed on each endpoint below.
- **Use it from an AI agent (MCP):** connect `https://api.reefapi.com/mcp` (remote streamable-http). Send the key as `Authorization: Bearer <key>`, or put it in the URL (`?key=<key>`) when the client has no header field, as ChatGPT does.

## Endpoints

### POST https://api.reefapi.com/automobile-tn/v1/search — 2 credits
Search used-car adverts on Automobile.tn (Tunisia): brand, model, keyword, price, year, mileage, fiscal power, fuel, gearbox, body, drivetrain, governorate, dealer vs private, and the site's sort orders. 12 adverts per page; the site's own total and per-filter counts come back with every page. Nothing is required: no parameters browses every live advert.

**Parameters:**
- `query` (string, optional) — Free-text keyword, as typed in the site's 'Mots clefs' box.
- `brand` (string, optional) — Brand slug (see `makes`), e.g. audi, mercedes-benz, kia.
- `model` (string, optional) — Model slug within `brand` (see `makes` with a brand), e.g. golf-8, q5, tucson. Needs `brand`.
- `price_min` (integer, optional) — Minimum asking price, TND.
- `price_max` (integer, optional) — Maximum asking price, TND.
- `year_min` (integer, optional) — Oldest model year.
- `year_max` (integer, optional) — Newest model year.
- `mileage_min` (integer, optional) — Minimum mileage, km.
- `mileage_max` (integer, optional) — Maximum mileage, km.
- `fiscal_power_min` (integer, optional) — Minimum fiscal horsepower (CV).
- `fiscal_power_max` (integer, optional) — Maximum fiscal horsepower (CV).
- `fuel` (array, optional) — Energy (one or a comma list). [one of: essence, diesel, mild_hybrid_petrol, hybrid_petrol, plugin_hybrid_petrol, mild_hybrid_diesel, hybrid_diesel, plugin_hybrid_diesel, electric]
- `gearbox` (enum, optional) — Gearbox. [one of: manual, automatic]
- `body_type` (array, optional) — Body style (one or a comma list). [one of: city_car, suv, compact, sedan, coupe, van, mpv, pickup, convertible, other]
- `drivetrain` (enum, optional) — Driven wheels: fwd (traction), rwd (propulsion), awd (intégrale). [one of: fwd, rwd, awd]
- `governorate` (array, optional) — Tunisian governorate (one or a comma list; accents optional). [one of: ariana, beja, ben arous, bizerte, gabes, gafsa, jendouba, kairouan, kasserine, kebili, la manouba, le kef, mahdia, medenine, monastir, nabeul, sfax, sidi bouzid, siliana, sousse, tataouine, tozeur, tunis, zaghouan]
- `seller_type` (enum, optional) — pro = dealer/showroom, private = individual. [one of: pro, private]
- `price_type` (enum, optional) — regular price, under leasing, or duty unpaid ('non dédouané'). [one of: regular, leased, duty_unpaid]
- `sort` (enum, optional, default "updated") — Order. updated = the site's default (last refreshed first). [one of: updated, popular, price_asc, price_desc, mileage_asc, mileage_desc, year_asc, year_desc, oldest, newest]
- `page` (integer, optional, default 1) — Result page (1-based).

**Returns:** {total, page, page_size 12, last_page, page_clamped, has_more, sort, filters_applied, listings[], facets{brand[], model[], fuel[], gearbox[], body_type[], drivetrain[], governorate[], seller_type[], color[], price_type[]}}. Each listing: id, url, brand_slug, model_slug, title, version, price_tnd, price_label, currency, mileage_km, year, gearbox, drivetrain, fiscal_power_cv, fuel, governorate, summary, price_rating, price_rating_code, image.

**Example request body:**
```json
{
  "brand": "volkswagen",
  "fuel": "essence",
  "sort": "price_asc"
}
```

### POST https://api.reefapi.com/automobile-tn/v1/listing — 3 credits
One used-car advert in full: asking price (with the site's price rating), mileage, first registration, fuel, gearbox, fiscal power, drivetrain, body, condition, previous owners, colours, upholstery, seats, doors, engine size, every equipment item by group, the seller's description, all photos, and the seller block (dealer name, logo, address, stock page; phone for everyone). Pass `url` or `id`.

**Parameters:**
- `url` (string, optional) — Advert URL, https://www.automobile.tn/fr/occasion/<brand>/<model>/<id> (from `search`). One request.
- `id` (string, optional) — Advert id alone (digits). Resolved through the site's own sitemap first: one extra request.

**Returns:** {id, url, title, version, price_tnd, price_label, price_ld_json, price_mismatch, currency, price_rating, price_rating_code, mileage_km, mileage_ld_json, first_registration, year, fuel, gearbox, fiscal_power_cv, drivetrain, body_type, condition, previous_owners, published_date, governorate, brand, model, exterior_color, interior_color, upholstery, seats, doors, engine_cc, main_specs{}, spec_groups{}, equipment{group: []}, equipment_count, description, images[], images_count, seller{type, name, phone, logo, address, stock_url, slug}}

**Example request body:**
```json
{
  "url": "https://www.automobile.tn/fr/occasion/audi/q5/131079"
}
```

### POST https://api.reefapi.com/automobile-tn/v1/makes — 2 credits
Brands that have live used-car adverts on Automobile.tn with their counts — or, with `brand`, that brand's models with counts. These are the slugs `search` takes.

**Parameters:**
- `brand` (string, optional) — Brand slug: returns that brand's models with live counts instead of the brand list.

**Returns:** {brand, total, makes[{slug, name, count}]} or {brand, total, models[{slug, name, count}]}

**Example request body:**
```json
{
  "brand": "audi"
}
```

### POST https://api.reefapi.com/automobile-tn/v1/new_search — 2 credits
Search Automobile.tn's NEW-car price list (every model sold new in Tunisia): brand, keyword, list-price range, fuel, gearbox, body, drivetrain, seats, fiscal power. Each card is a model with its 'from' price (cheapest version), any promo (old price + the site's discount), and a USD duty-free price where the importer publishes one. 24 models per page.

**Parameters:**
- `query` (string, optional) — Free-text keyword.
- `brand` (string, optional) — Brand slug (see `new_brands`).
- `price_min` (integer, optional) — Minimum list price, TND.
- `price_max` (integer, optional) — Maximum list price, TND.
- `fiscal_power_min` (integer, optional) — Minimum fiscal horsepower (CV).
- `fiscal_power_max` (integer, optional) — Maximum fiscal horsepower (CV).
- `seats_min` (integer, optional) — Minimum seats.
- `seats_max` (integer, optional) — Maximum seats.
- `fuel` (array, optional) — Energy (one or a comma list). [one of: essence, diesel, hybrid, plugin_hybrid, mild_hybrid, electric, electric_reev]
- `gearbox` (enum, optional) — Gearbox. [one of: manual, automatic]
- `body_type` (array, optional) — Body style (one or a comma list). [one of: city_car, compact, sedan, suv, coupe, mpv, van, pickup, convertible, minibus]
- `drivetrain` (enum, optional) — Driven wheels. [one of: fwd, rwd, awd]
- `sort` (enum, optional, default "relevance") — Order. [one of: relevance, price_asc, price_desc, popular]
- `page` (integer, optional, default 1) — Result page (1-based).

**Returns:** {total, page, page_size 24, last_page, page_clamped, has_more, sort, filters_applied, models[], facets{fuel[], gearbox[], body_type[], drivetrain[], warranty[]}}. Each model: card_id, name, url, brand_slug, model_slug, single_version_slug, price_from_tnd (cheapest version), price_old_tnd, discount_tnd (the site's badge), discount_computed_tnd, price_usd_duty_free, badge, currency, image.

**Example request body:**
```json
{
  "body_type": "suv",
  "price_max": 120000,
  "sort": "price_asc"
}
```

### POST https://api.reefapi.com/automobile-tn/v1/new_brands — 2 credits
Every brand in Automobile.tn's new-car price list, with slug and logo.

**Parameters:** none

**Returns:** {brand_count, brands[{slug, name, url, logo}]}

### POST https://api.reefapi.com/automobile-tn/v1/new_versions — 3 credits
All versions (trims) of one new model with each version's list price, promo old price, version id and spec-sheet url, plus the official importer's name, address, phone and fax. Pass `brand`+`model` or `url`.

**Parameters:**
- `brand` (string, optional) — Brand slug.
- `model` (string, optional) — Model slug (from `new_search` / a model card url).
- `url` (string, optional) — Model page URL instead of brand+model.

**Returns:** {brand_slug, model_slug, url, title, image, version_count, versions[{version_id, name, url, version_slug, price_tnd, price_old_tnd, discount_computed_tnd, badge, currency}], importer{name, address, phones[], fax[]}}

**Example request body:**
```json
{
  "brand": "peugeot",
  "model": "2008"
}
```

### POST https://api.reefapi.com/automobile-tn/v1/new_version — 2 credits
Full spec sheet of one new-car version: list price TTC (and USD duty-free price where published), availability, warranty, body, seats, doors, cylinders, fuel, fiscal power, horsepower, torque, engine size, gearbox, gears, drivetrain, dimensions, boot, 0-100, top speed, consumption and every equipment line, plus the importer. Pass `url` or `brand`+`model`+`version`.

**Parameters:**
- `url` (string, optional) — Version page URL (from `new_versions` or a single-version model card).
- `brand` (string, optional) — Brand slug (with model + version).
- `model` (string, optional) — Model slug.
- `version` (string, optional) — Version slug.

**Returns:** {version_id, url, brand_slug, model_slug, version_slug, model_name, version_name, price_tnd, price_old_tnd, price_usd_duty_free, price_ld_json, price_mismatch, currency, availability, body_type, warranty, seats, doors, cylinders, fuel, fiscal_power_cv, power_hp, torque_nm, torque_rpm, engine_cc, gearbox, gears, drivetrain, length_mm, width_mm, height_mm, boot_l, acceleration_0_100_s, top_speed_kmh, consumption_mixed_l100, spec_groups{group: {label: value|true}}, image, importer{}}

**Example request body:**
```json
{
  "url": "https://www.automobile.tn/fr/neuf/peugeot/208/1.2-l-style"
}
```

## At scale
- **Volume:** 5M+ requests a day, measured at 60 requests a second across the fleet with no
  central bottleneck. Per-key limits are raised for high-volume accounts; volume pricing on request.
- **Missing a source:** tell us a site we do not cover and it becomes an engine. A customer asked
  for bestprice.gr on 21 Sep 2026 and it was in the catalog on 22 Sep.
- **Support:** 2 minute median time from a question in the live chat to the first answer. Setup
  help included, no support tier to buy.
- **One key, one credit pool** across every API. No per-site plans, no separate subscriptions.

## More
- Try it live, no code: https://reefapi.com/playground?engine=automobile-tn
- Human docs page: https://reefapi.com/docs/automobile-tn
- Overview page: https://reefapi.com/automobile-tn-api
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
