---
title: "Hashflags"
method: GET
path: "/misc/emojis"
tags: ["Misc"]
---

# Hashflags

`GET /misc/emojis`

## Request

- Base URL: `https://api.twittrapi.com`
- URL: `https://api.twittrapi.com/misc/emojis`
- Auth: API key in header `X-API-KEY`

X's hashflags: hashtags that show a custom emoji, with image URLs and active dates.

Reference: https://www.twittrapi.com/docs/reference/misc-emojis

## Query parameters

- `format` 'raw' | 'simple'

## Response `200`

Raw JSON of X's v1.1 hashflags.json.

With format=simple: Unchanged inside {data: ...}: X's hashflag list is already small, so the simple format only adds the envelope.

- union: format=simple: the simple-format schema. Default (raw): X's JSON, passthrough.
  - DataPassthrough: Simple format: the usual (already small) response inside {data: ...}
    - `data` object, required: The usual response, unchanged
  - RawPassthrough: X's own JSON (raw format, the default), passed through unchanged. The shape is X's and can change; see https://www.twittrapi.com/docs/response-format.

## Other responses

- `400`: Any upstream failure ("Error making emoji request."). Refunded.
- `401`: Missing or unknown API key. Not charged.
- `402`: No balance left, or the trial expired. Not charged. Top up in the dashboard.
- `403`: Key deactivated, or the endpoint is not in your plan (trial keys and account actions). Not charged.
- `429`: Rate limit for your key exceeded. Not charged. No Retry-After header: back off exponentially.
- `500`: Something failed on our side or between us and X. Refunded (400, 407, 408, 409 or a 5xx error are refunded). Retry with backoff.

---

[API](https://skmtc.dev/twittrapi/apis/twittrapi-api.md) · [All operations](https://skmtc.dev/twittrapi/apis/twittrapi-api/llms.txt) · [OpenAPI document](https://skmtc.dev/twittrapi/apis/twittrapi-api/revisions/0618e38b54c2?raw)
