BYTETOOLS

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.

No API key requiredCORS enabledHTTPSFree tier

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
curl 'https://meme-api.com/gimme/wholesomememes'
JavaScript (fetch)
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);
Python (requests)
import requests

res = requests.get("https://meme-api.com/gimme/wholesomememes", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "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

ParameterTypeRequiredDescription
subredditpath segmentOptionalRestrict to one subreddit: `/gimme/wholesomememes`. Strongly recommended — the default set is a moving target. wholesomememes
countpath segmentOptionalAsk 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 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.