justmeme.wtf API
justmeme.wtf exposes 2,400+ meme templates with full-text search, trending ranking and category tags, free and without a key. Rate-limit headers and a live example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the justmeme.wtf API?
justmeme.wtf is a free meme API with no key that serves a catalogue of over 2,400 templates, each tagged with categories, plus endpoints for full-text search, trending templates and a random pick. It returns 60 requests per minute per IP and reports the budget in response headers.
What separates this from the other meme catalogues is that it was built to be queried. Imgflip gives you the top hundred and nothing else; justmeme.wtf lets you search the whole library by name, pull the trending slice, or filter by category tags such as `reaction`, `comparison` or `drake-format`. For a template picker with a search box — which is what almost every meme feature actually needs — that difference matters more than raw catalogue size.
It is honest about its limits, too. Every response carries `X-RateLimit-Limit` and `X-RateLimit-Remaining`, currently 60 per minute for anonymous callers, so you can back off before you are cut off rather than after. Note that many template image URLs point at Imgflip's CDN: the catalogue, the categories and the search index are this project's work, but a good share of the underlying artwork is not self-hosted, which is worth knowing if you care about long-term link stability.
Quick facts
- Base URL
https://justmeme.wtf/api/v1- Authentication
- No key and no account for any read endpoint. The AI generation endpoint is separate and is not covered here.
- Rate limit
- 60 requests per minute per IP, reported in `X-RateLimit-Limit` and `X-RateLimit-Remaining` on every response.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the justmeme.wtf API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. List the first three meme templates
GET https://justmeme.wtf/api/v1/templates?page=1&limit=3
curl 'https://justmeme.wtf/api/v1/templates?page=1&limit=3'const res = await fetch("https://justmeme.wtf/api/v1/templates?page=1&limit=3");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://justmeme.wtf/api/v1/templates?page=1&limit=3", timeout=20)
res.raise_for_status()
print(res.json()){
"success": true,
"templates": [
{
"id": "drake-hotline-bling",
"name": "Drake Hotline Bling",
"slug": "drake-hotline-bling",
"url": "https://i.imgflip.com/30b1gx.jpg",
"categories": [
"comparison",
"approval",
"drake-format",
"classic",
"trending"
]
},
{
"id": "distracted-boyfriend",
"name": "Distracted Boyfriend",
"slug": "distracted-boyfriend",
"url": "https://i.imgflip.com/1ur9b0.jpg",
"categories": [
"reaction",
"relationship",
"classic",
"trending",
"label"
]
},
{
"id": "two-buttons",
"name": "Two Buttons",
"slug": "two-buttons",
"url": "https://i.imgflip.com/1g8my4.jpg",
"categories": [
"reaction",
"comparison",
"label",
"trending"
]
}
],
"total": 2303,
"page": 1,
"limit": 3
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | Optional | Page number for `/templates`, 1-based. 1 |
limit | integer | Optional | Templates per page. 3 |
q | string | Optional | Search term for `/templates/search`. Matches template names. drake |
id | path segment | Optional | Fetch one template by slug: `/templates/drake-hotline-bling`. drake-hotline-bling |
Response fields
successboolean- Request-level status flag, mirroring the HTTP status.
templates[].id / slugstring- Slug identifier, the same value in both fields. Use it for `/templates/{id}`.
templates[].namestring- Display name of the template.
templates[].urlstring- Image URL. Frequently an i.imgflip.com address rather than a self-hosted one.
templates[].categoriesarray of strings- Tags such as `reaction`, `comparison`, `classic` or `trending`. This is the field that makes browsing by mood possible.
X-RateLimit-Remaining (header)header- How many of your 60 requests this minute are left. Read it and back off.
What you can build with the justmeme.wtf API
- Add a searchable template picker to a meme editor
- Show a trending row that refreshes without you curating it by hand
- Filter templates by category to match a post's tone
- Build a bot that resolves a template by name from a chat command
- Prototype a meme feature before committing to a paid image API
Common errors and how to fix them
429
You have exceeded 60 requests in a minute from one IP.
Fix: Read `X-RateLimit-Remaining` and pause when it approaches zero. Caching the template list removes almost all of your traffic.
404 on /templates/{id}
The slug does not exist.
Fix: Slugs are lowercase and hyphenated. Resolve names through `/templates/search?q=` rather than guessing them.
Empty results from search
The query matched no template names.
Fix: Search is over names, not categories. To browse by tag, list templates and filter on the `categories` array.
justmeme.wtf API — frequently asked questions
Is justmeme.wtf's meme API free?
Yes, free with no key or account for every read endpoint, capped at 60 requests per minute per IP. The separate AI generation endpoint has its own terms and is not covered here.
How many meme templates does it have?
The project advertises more than 2,400 templates, which is well beyond the hundred that Imgflip's public list returns, and they are searchable and category-tagged rather than only ranked.
Are the images hosted by justmeme.wtf?
Not all of them. A good number of `url` values resolve to i.imgflip.com. The catalogue, tags and search index belong to this project, but you should not assume the artwork is self-hosted and permanent.
Can I call it from browser JavaScript?
Yes. It returns a permissive CORS header, so a direct `fetch()` from the front end works without a proxy.
Tools that pair with this API
Meme Generator
Make a meme online free: add classic top and bottom captions in Impact style with automatic line wrapping and sizing, then download as PNG or JPG.
Add Text to Image
Add text to any image online: pick a font, size, color and outline, drag the caption into place and download the result. Free and private.
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
justmeme.wtf is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.