VLR API endpoint
Returns the VLR.gg forum directory: each category with slug, name, group, description, thread and post counts and the last poster, time and thread. `slug` is one of `valorant-discussion`, `off-topic`, `site-feedback`; use it as `category` in vlr-forum-threads.
/vlr/forum-categoriesHeader: x-api-key required.
Parameters:
none.
Notable response behavior:
slug has these values: valorant-discussion, off-topic, site-feedback. group is the heading the category is listed under on the site.threads and posts are the category totals; last_post_time is the site's exact timestamp string.| Field | Filled in, of 3 checked | Values in the sample |
|---|---|---|
| slug | 3 | |
| name | 3 | “Valorant Discussion” and 2 other values |
| group | 3 | “Valorant” and 1 other value |
| description | 3 | “Anything and everything Valorant” and 2 other values |
| threads | 3 | 3,566 to 578,533, median 61,856 |
| posts | 3 | 35,627 to 5,550,214, median 889,911 |
| last_poster | 3 | |
| last_post_time | 3 | “Oct 30, 2026 at 00:07 IST” and 1 other value |
| last_thread_id | 3 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/vlr/forum-categories" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"source_url": "https://www.vlr.gg/forums",
"fetched_at": "2026-10-28T10:00:00Z",
"count": 1,
"categories": [
{
"slug": "valorant-discussion",
"name": "Valorant Discussion",
"group": "Valorant",
"description": "Anything and everything Valorant",
"threads": 577804,
"posts": 5543705,
"last_poster": "iceypicks",
"last_post_time": "Oct 27, 2026 at 20:35 CET",
"last_thread_id": "780920"
}
]
}
}Request schema
No body schema
Response schema
Inline response schema
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | Code is the HTTP status code or a custom code used to indicate the result of the request @example 200 | |||
| data | vlr.ForumCategoriesResponse | No | ||||
| data.categories | array | No | ||||
| data.categories[].description | string | No | Anything and everything Valorant | |||
| data.categories[].group | string | No | Valorant | |||
| data.categories[].last_post_time | string | No | Oct 27, 2026 at 20:35 CET | |||
| data.categories[].last_poster | string | No | iceypicks | |||
| data.categories[].last_thread_id | string | No | 780920 | |||
| data.categories[].name | string | No | Valorant Discussion | |||
| data.categories[].posts | integer | No | 5543705 | |||
| data.categories[].slug | string | No | valorant-discussion, off-topic, site-feedback | valorant-discussion | ||
| data.categories[].threads | integer | No | 577804 | |||
| data.count | integer | No | 3 | |||
| data.fetched_at | string | No | 2026-10-27T10:00:00Z | |||
| data.source_url | string | No | https://www.vlr.gg/matches | |||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/vlr/forum-categories" \
-H "x-api-key: $CRAWLORA_API_KEY"