All Templates API Make a Meme

justmeme.wtf API

Free meme API for developers. 2000+ templates, search, trending, AI generation. No API key needed.

Base URL: https://justmeme.wtf/api/v1
All responses are JSON with Content-Type: application/json and full CORS support.
Rate Limit: 60 requests per minute per IP. No authentication required. If you need higher limits, open an issue.

Quick Start

JavaScript (fetch)
// Get trending memes
const res = await fetch('https://justmeme.wtf/api/v1/trending');
const data = await res.json();
console.log(data.trending);

// Search for templates
const search = await fetch('https://justmeme.wtf/api/v1/templates/search?q=drake');
const results = await search.json();
console.log(results.templates);

// AI meme generation
const ai = await fetch('https://justmeme.wtf/api/v1/ai-generate', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ prompt: 'something funny about coding' })
});
const meme = await ai.json();
console.log(meme);

Endpoints

GET /api/v1/templates List all templates (paginated)

Query Parameters

ParamTypeDescription
pageintegerPage number (default: 1)
limitintegerResults per page (default: 20, max: 100)
categorystringFilter by category slug (optional)
Example Request
curl "https://justmeme.wtf/api/v1/templates?page=1&limit=5"
Example Response
{
  "success": true,
  "templates": [
    {
      "id": "drake-hotline-bling",
      "name": "Drake Hotline Bling",
      "slug": "drake-hotline-bling",
      "url": "https://i.imgflip.com/30b1gx.jpg",
      "categories": ["reaction", "comparison"]
    }
  ],
  "total": 2358,
  "page": 1,
  "limit": 5
}
GET /api/v1/templates/:slug Get single template details

URL Parameters

ParamTypeDescription
slug requiredstringTemplate slug (e.g. "drake-hotline-bling")
Example Request
curl https://justmeme.wtf/api/v1/templates/drake-hotline-bling
Example Response
{
  "success": true,
  "template": {
    "name": "Drake Hotline Bling",
    "slug": "drake-hotline-bling",
    "url": "https://i.imgflip.com/30b1gx.jpg",
    "categories": ["reaction", "comparison"],
    "page_url": "https://justmeme.wtf/meme/drake-hotline-bling"
  }
}
GET /api/v1/categories List all categories with counts
Example Request
curl https://justmeme.wtf/api/v1/categories
Example Response
{
  "success": true,
  "categories": [
    { "slug": "reaction", "name": "reaction", "count": 342 },
    { "slug": "comparison", "name": "comparison", "count": 198 },
    { "slug": "animal", "name": "animal", "count": 156 }
  ]
}
POST /api/v1/ai-generate AI meme generation (rate limited)

Request Body (JSON)

FieldTypeDescription
prompt requiredstringWhat the meme should be about (3-300 chars)
Example Request
curl -X POST https://justmeme.wtf/api/v1/ai-generate \
  -H "Content-Type: application/json" \
  -d '{"prompt": "something funny about coding"}'
Example Response
{
  "success": true,
  "template": "drake-hotline-bling",
  "top_text": "Writing tests",
  "bottom_text": "console.log debugging",
  "editor_url": "https://justmeme.wtf/?template=drake-hotline-bling"
}
GET /api/v1/random Get a random template
Example Request
curl https://justmeme.wtf/api/v1/random
Example Response
{
  "success": true,
  "template": {
    "name": "Distracted Boyfriend",
    "slug": "distracted-boyfriend",
    "url": "https://i.imgflip.com/1ur9b0.jpg"
  }
}

Error Responses

All errors follow a consistent format:

{
  "success": false,
  "error": "Description of what went wrong"
}
StatusMeaningWhen
400Bad RequestMissing or invalid parameters
404Not FoundTemplate or endpoint not found
429Too Many RequestsRate limit exceeded (60/min)
500Server ErrorSomething went wrong on our end
503Service UnavailableAI service temporarily down

FAQ

Do I need an API key?

No. The API is completely free and requires no authentication. Just start making requests.

What are the rate limits?

60 requests per minute per IP address. The AI generation endpoint shares this limit. If you need more, open an issue on GitHub.

Can I use this in commercial projects?

Yes. The API is free for personal and commercial use. Please include attribution to justmeme.wtf when possible.

Is there a client library?

Not yet. The API uses standard REST conventions so any HTTP client works. Check GitHub for community wrappers.

How often are templates updated?

Trending templates are refreshed every 6 hours from imgflip. New templates can be added via the submit endpoint or by the community.

Links

GitHub Make a Meme Browse Templates