Meme API
Meme API returns a random meme from Reddit as JSON, with the image URL, subreddit, score and an explicit NSFW flag. No key. Pin your own subreddit — tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the Meme API?
Meme API is a free, key-free service that returns a random meme post from Reddit as JSON, including the direct image URL, the subreddit it came from, the author, the upvote count and boolean `nsfw` and `spoiler` flags. You can restrict it to a specific subreddit or ask for up to 50 at once.
The appeal here is that you get live content rather than a frozen dataset — the memes are whatever Reddit surfaced today, complete with score and author. The cost is that you are serving user-generated content you have not seen. Every response carries `nsfw` and `spoiler` booleans for exactly that reason, and any production use should treat filtering on them as mandatory rather than optional.
The second thing to do is pin the subreddit. Calling `/gimme` with no path pulls from a rotating default set, which is unpredictable; calling `/gimme/wholesomememes` or any other subreddit you have actually looked at gives you a content boundary you chose. The API also returns a `preview` array of progressively larger thumbnails, which is genuinely handy — you can render a 320px preview in a feed and only fetch the full image on tap.
Quick facts
- Base URL
https://meme-api.com- Authentication
- No key or account. It reads Reddit's public listings on your behalf.
- Rate limit
- No published limit, but it is one person's server proxying Reddit. Cache and be modest.
- Pricing
- Free and open source.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Meme 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. Fetch a random meme from r/wholesomememes
GET https://meme-api.com/gimme/wholesomememes
curl 'https://meme-api.com/gimme/wholesomememes'const res = await fetch("https://meme-api.com/gimme/wholesomememes");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://meme-api.com/gimme/wholesomememes", timeout=20)
res.raise_for_status()
print(res.json()){
"postLink": "https://redd.it/1uspo4g",
"subreddit": "wholesomememes",
"title": "I realized today that I haven’t looked at my reflection in a spoon since I was a child.",
"url": "https://i.redd.it/f2aszz2nzech1.gif",
"nsfw": false,
"spoiler": false,
"author": "MotherCurrency8213",
"ups": 1318,
"preview": [
"https://preview.redd.it/f2aszz2nzech1.gif?width=108&crop=smart&format=png8&s=cf8309398d0d4d477f82b3d7917b35ecb84874ab",
"https://preview.redd.it/f2aszz2nzech1.gif?width=216&crop=smart&format=png8&s=b50857be6675370da36c08ac6a5799f1530fa181",
"https://preview.redd.it/f2aszz2nzech1.gif?width=320&crop=smart&format=png8&s=fed435d6a238d88c62c3a870c691fbc6bc61bcf2"
]
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
subreddit | path segment | Optional | Restrict to one subreddit: `/gimme/wholesomememes`. Strongly recommended — the default set is a moving target. wholesomememes |
count | path segment | Optional | Ask for several at once, up to 50: `/gimme/5` or `/gimme/wholesomememes/5`. The response then wraps them in a `memes` array. 5 |
Response fields
postLinkstring- Permalink to the original Reddit post — use it for attribution.
subredditstring- Which subreddit the post came from.
titlestring- The post title as written by the Reddit user.
urlstring- Direct image URL, usually on i.redd.it.
nsfwboolean- Whether Reddit flagged the post as not safe for work. Filter on this.
spoilerboolean- Whether the post is marked as a spoiler.
upsinteger- Upvote count at the time of the call.
previewarray of strings- Progressively larger thumbnail URLs. Render the small one in a list and save bandwidth.
What you can build with the Meme API
- Add a meme command to a Discord or Telegram bot, pinned to a subreddit you trust
- Fill a demo feed with live content instead of lorem ipsum
- Prototype an image-heavy layout with real, varied aspect ratios
- Practise defensive rendering against user-generated content and its flags
Common errors and how to fix them
404
The subreddit does not exist, is private, or has been banned.
Fix: Verify the name on Reddit first. Deleted and quarantined subreddits fail the same way.
Unexpected or offensive content
You called `/gimme` with no subreddit and got whatever the default set held.
Fix: Always pin a subreddit, and always check the `nsfw` flag before rendering.
Slow responses or timeouts
The service proxies Reddit, so it inherits Reddit's latency and rate limits.
Fix: Set a client timeout of a few seconds and fall back to cached content rather than blocking your page render.
Meme API — frequently asked questions
Is there a free meme API with no API key?
Yes — Meme API needs no key or account and returns a random Reddit meme as JSON, including the image URL, score and an NSFW flag. It is an open-source project run by one developer.
How do I keep the content safe for work?
Two things: request a specific subreddit rather than the default set, and reject any response where `nsfw` is true. The flag comes straight from Reddit's own marking, so it is only as good as the original poster's honesty — a moderated subreddit is the stronger control.
Can I get more than one meme per request?
Yes. Append a count of up to 50, as in `/gimme/wholesomememes/5`, and the response becomes an object with a `memes` array instead of a single object. Handle both shapes if your code path is shared.
Who owns the images?
The Reddit users who posted them. The API returns a `postLink` for each result; if you display memes publicly, link back to the original post.
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.
Reddit Text Formatter
Format Reddit posts and comments with buttons for bold, spoilers, superscript, tables and code blocks, with a live preview and a character count.
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.
Meme API 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.