---
url: /modules/scout24.md
---
# Scout24

Vehicle listings from AutoScout24 on the site: a marketplace block with filters, a search block, and vehicle detail pages. Data comes from the AutoScout24 API and is cached; the panel only shows what the API returns.

::: glance

* **Module key** `scout24`
* **Default** on
* **Switch** `EVOLVE_MODULE_SCOUT24`, see [Modules](/modules/#switching-a-module-on-or-off)
* **Role access** `evolve.roles.modules.scout24`
* **Panel** `/evolve/scout24/vehicle`
  :::

## Requirements

OAuth credentials for the AutoScout24 REST API, issued by AutoScout24 for the dealer: a client ID, a client secret and the seller IDs the site should show. The legacy member ID of the old HCI JSON API still works as a fallback.

## Configuration

| Variable | Default | Panel | Effect |
|---|---|---|---|
| `SCOUT24_CLIENT_ID` | unset | no | OAuth client ID |
| `SCOUT24_CLIENT_SECRET` | unset | no | OAuth client secret |
| `SCOUT24_SELLER_IDS` | unset | no | Comma separated seller IDs whose vehicles are listed |
| `SCOUT24_MEMBER_ID` | unset | yes | Legacy member ID, to be deprecated |
| `SCOUT24_BASE_URL` | `https://api.autoscout24.ch` | no | API base URL |
| `SCOUT24_OAUTH_URL` | `https://api.autoscout24.ch/public/v1/clients/oauth/token` | no | Token endpoint |
| `SCOUT24_AUDIENCE` | `https://api.autoscout24.ch` | no | OAuth audience |
| `SCOUT24_CACHE_TTL` | `3600` | no | Seconds a vehicle list or detail is cached |
| `SCOUT24_TOKEN_CACHE_TTL` | `3300` | no | Seconds the access token is cached; tokens expire after an hour |
| `HEALTH_CHECK_SCOUT24` | `false` | yes | Hourly health check against the API, see [Health Checks](/site/health-checks) |

## In the panel

**Vehicles** at `/evolve/scout24/vehicle` lists the vehicles the API returns for the configured sellers. There is nothing to edit here: vehicles are maintained in AutoScout24. Cmd-K: "Vehicles".

## On the site

| Block | Component | Fields |
|---|---|---|
| Marktplatz | `scout24.marketplace` | none. The full marketplace with filters for make, condition, price, mileage and year, in grid, list or card layout. |
| Suche | `scout24.search` | title, marketplace URL for the results, make ID, model ID, condition. A search form that redirects to the marketplace page. |

Vehicle detail pages are `/{locale}/vehicle/{id}/{slug}`; the module also answers `/vehicle/{id}` without a locale for old links. The blocks fetch through `api/scout24/vehicle`.

Typical setup: one page with the marketplace block, the search block on the home page pointing at it.

## Publishing

| Tag | Publishes |
|---|---|
| `scout24.config` | `config/scout24.php` |
| `scout24.blueprints` | `Scout24Marketplace.php`, `Scout24Search.php` to `app/Blueprints` |
| `scout24.components` | block definitions, vehicle views to `theme/views/vendor/scout24/vehicle`, block views to `theme/views/components/blocks/scout24` |

## Verifying

Open the Vehicles screen in the panel. An empty list with credentials set means the token request or the seller IDs are wrong; the application log has the API response. Turn `HEALTH_CHECK_SCOUT24` on so that `/evolve/health` reports the API hourly. Remember the cache: after fixing credentials, `php artisan cache:clear` or wait for `SCOUT24_CACHE_TTL`.
