---
title: 'List devices'
description: 'List the devices in the Repender device catalog with the API.'
url: 'https://repender.nl/docs/api/devices'
last_updated: '2026-11-10'
---

> Docs index: https://repender.nl/docs/llms.txt · MCP: https://repender.nl/docs/mcp · Skill: https://repender.nl/docs/skill.md

# List devices

This endpoint needs the Plus or Pro plan. See the [API overview](https://repender.nl/docs/api.md) for authentication, the shop context, the rate limit and pagination.

`GET /devices`

Lists the enabled devices, each with a ready-to-use snippet for the [inline booking form](https://repender.nl/docs/online-booking.md#inline-booking-form). Paginated, ordered by id.

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `device_type` | string | No | Slug of a device type, from `/device-types`. |
| `brand` | string | No | Slug of a brand, from `/brands`. |
| `search` | string | No | Filter on the device name. |
| `created_after` | date | No | Only return devices created after this date. Devices are never updated, so use this to sync new devices. |
| `is_visible_in_plugin` | boolean | No | Only return devices visible in the booking plugin. |
| `page` | integer | No | Page number. Defaults to 1. |
| `per_page` | integer | No | Up to 100. Defaults to 25. |

During a trial, the API only returns a fixed part of the device catalog, whatever filters you use.

```json
{
  "current_page": 1,
  "data": [
    {
      "slug": "iphone-15-pro",
      "device_type": "Smartphone",
      "brand": "Apple",
      "name": "iPhone 15 Pro",
      "image_url": "https://repender.nl/.../iphone-15-pro.webp",
      "shortcode": "<div id=\"repender-inline\" data-device-type=\"smartphone\" data-brand=\"apple\" data-device=\"iphone-15-pro\"></div>",
      "created_at": "2026-01-14T10:00:00.000000Z"
    }
  ],
  "last_page": 21,
  "per_page": 25,
  "total": 512,
  "next_page_url": "https://repender.nl/api/v1/devices?page=2",
  "prev_page_url": null
}
```

`image_url` is `null` when the device has no image.
