---
title: "List public VTCs"
method: GET
path: "/vtcs"
tags: ["VTCs"]
---

# List public VTCs

`GET /vtcs`

## Query parameters

- `limit` integer — Maximum number of items to return (1-100).
- `cursor` integer — Offset-based cursor from a previous response's nextCursor, or 0 to start.
- `offset` integer — Number of items to skip. Alias of cursor.
- `page` integer — 1-indexed page number. Alternative to cursor/offset.
- `pageSize` integer — Alias of limit, used with page.
- `search` string — Full-text match against VTC name, description, and in-game tag.
- `verified` boolean — Only return VTCs with verified status.
- `official` boolean — Only return official VTCs.
- `partnered` boolean — Only return partnered VTCs.
- `validated` boolean — Only return validated VTCs.
- `recruitmentOpen` boolean — Only return VTCs currently open for recruitment.
- `language` string — Case-insensitive match on the VTC's primary language.
- `inGameTag` string — Partial match on the VTC's in-game tag.
- `game` 'ets2' | 'ats' — Filter by supported game.
- `minMembers` integer — Minimum member count (inclusive).
- `maxMembers` integer — Maximum member count (inclusive).
- `sort` 'newest' | 'name' | 'members' | 'activity' — Sort order for results.
- `companyType` 'trucking' | 'coach' — Filter by company type: trucking VTCs or coach VBCs.

## Response `200`

OK

- object
  - `items` object[], required — The page of results.
    - `id` integer, required
    - `name` string, required
    - `handle` string, nullable, required
    - `description` string, required
    - `slogan` string, nullable, required
    - `profilePicture` string, nullable, required
    - `banner` string, nullable, required
    - `verified` boolean, required
    - `official` boolean, required
    - `partnered` boolean, required
    - `validated` boolean
    - `tier` string
    - `tierReviewNote` string, nullable
    - `activityScore` integer
    - `inGameTag` string, nullable
    - `games` string[]
    - `country` string, nullable
    - `timezone` string, nullable
    - `youtube` string, nullable
    - `twitch` string, nullable
    - `tiktok` string, nullable
    - `recruitmentOpen` boolean, required
    - `visibility` 'public' | 'unlisted' | 'private', required
    - `language` string, required
    - `memberCount` integer, required
    - `createdAt` string, required
    - `companyType` 'trucking' | 'coach'
  - `nextCursor` number, nullable, required — Pass as `cursor` to fetch the next page, or null if this is the last page.
  - `total` integer, required — Total number of items matching the query, across all pages.

---

[API](https://skmtc.dev/trucklinemp/apis/trucklinemp-public-api.md) · [All operations](https://skmtc.dev/trucklinemp/apis/trucklinemp-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/trucklinemp/apis/trucklinemp-public-api/revisions/5212ba63601d?raw)
