# Get public trending topics

`GET https://api.endless.app/social/trends/public/{region}`

Source: https://endless.app/docs/api/social/public-trends

What's trending on X in a country, read from snapshots taken every few hours, with the last 24 hours of history. Public, no authentication.

## Authentication

- `bearerAuth`: HTTP bearer (JWT)

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `region` | path | "worldwide" \| "argentina" \| "brazil" \| "canada" \| "chile" \| "colombia" \| "dominican-republic" \| "ecuador" \| "guatemala" \| "mexico" \| "panama" \| "peru" \| "puerto-rico" \| "united-states" \| "venezuela" \| "austria" \| "belarus" \| "belgium" \| "denmark" \| "france" \| "germany" \| "greece" \| "ireland" \| "italy" \| "latvia" \| "netherlands" \| "norway" \| "poland" \| "portugal" \| "russia" \| "spain" \| "sweden" \| "switzerland" \| "turkey" \| "ukraine" \| "united-kingdom" \| "india" \| "indonesia" \| "japan" \| "malaysia" \| "pakistan" \| "philippines" \| "singapore" \| "south-korea" \| "thailand" \| "vietnam" \| "bahrain" \| "israel" \| "jordan" \| "kuwait" \| "lebanon" \| "oman" \| "qatar" \| "saudi-arabia" \| "united-arab-emirates" \| "algeria" \| "egypt" \| "ghana" \| "kenya" \| "nigeria" \| "south-africa" \| "australia" \| "new-zealand" | yes |  |
| `Endless-Api-Version` | header | string | no | Pin the caller to an API major (`1`). Omit to accept the current version. A major this deployment cannot serve is refused with 400 `unsupported_api_version`. |

## Responses

### 200 OK

Content type: `application/json` — object

- `region` (string, required)
- `captured_at` (string | null, required)
- `trends` (array<object>, required)
  - `name` (string, required)
  - `url` (string)
  - `tweet_volume` (number | null, required)
- `timeline` (array<object>, required)
  - `captured_at` (string, required)
  - `names` (array<string>, required)
- `longest` (array<object>, required)
  - `name` (string, required)
  - `snapshots` (integer, required)

### Errors

- `400` (Error): The request is malformed, or failed input validation. `message` names the field and the rule it broke; `data.issues` carries them individually.
- `401` (Error): No bearer token, or a token that failed verification.
- `402` (Error): The workspace has no credits left, or the caller is over a spending limit.
- `403` (Error): Authenticated, but the caller's role in this workspace does not carry the permission this operation needs.
- `404` (Error): No resource with that id, or the caller cannot read it. The two are deliberately one answer, so an id cannot be probed for existence.
- `409` (Error): The request is well-formed, but the resource's current state forbids it — a taken name, a last admin, a limit already reached.
- `429` (Error): The caller has spent its rate-limit window. `Retry-After` says when to come back.
- `500` (Error): The request failed on our side. Safe to retry an idempotent operation with backoff.
