Yes No WTF

Fun API · Works globally · Animated yes/no answers

TL;DR

Yes No WTF is a wonderfully simple API: ask a yes/no question (or don't, it doesn't care), and it returns a randomized "yes", "no", or "maybe" answer complete with a related animated GIF. The response includes the answer text, a GIF URL, and the image size. No API key, no parameters needed, no rate limits — just hit the endpoint and get an instant answer. Great for magic 8-ball apps, decision helpers, or any project that needs a splash of randomness with visual flair.

Quick start: https://yesno.wtf/api

No API key needed — just make a request!

Get a random answer: https://yesno.wtf/api

How to Use This API

1. Get a Random Answer

https://yesno.wtf/api

Returns JSON: {"answer": "yes", "forced": false, "image": "https://yesno.wtf/assets/yes/0.gif"}

2. Force a Specific Answer

Not really — the forced field is always false in the default API.

3. JavaScript — Magic 8-Ball

async function askQuestion() {
  const resp = await fetch('https://yesno.wtf/api');
  const data = await resp.json();
  
  const answers = {
    'yes': '✓ Yes!',
    'no': '✗ No!',
    'maybe': '¯\\_(ツ)_/¯ Maybe'
  };
  
  console.log(`The answer is: ${answers[data.answer]}`);
  
  // Display the GIF
  const img = document.createElement('img');
  img.src = data.image;
  img.alt = data.answer;
  document.getElementById('answer-box').appendChild(img);
}

document.getElementById('ask-btn').onclick = askQuestion;

4. Python — Get Answer and GIF

import requests

resp = requests.get('https://yesno.wtf/api')
data = resp.json()
print(f"Answer: {data['answer'].upper()}!!!")
print(f"GIF: {data['image']}")

# Download the GIF
with open(f"answer_{data['answer']}.gif", 'wb') as f:
    f.write(requests.get(data['image']).content)
print(f"Saved answer_{data['answer']}.gif")

Frequently Asked Questions

What are the possible answers?
Three possible answers: "yes", "no", and "maybe". Each has its own collection of animated GIFs that are randomly selected.
Do I need an API key?
No. Yes No WTF is completely free with no authentication or signup required.
What format does the response use?
JSON with three fields: answer (yes/no/maybe), forced (always false for standard requests), and image (URL to the animated GIF).
Can I get only a specific answer?
The public API randomly selects from all three. If you need a specific answer, you can filter the response client-side after fetching.
Are the GIFs hosted somewhere accessible?
Yes, the image URLs point to https://yesno.wtf/assets/ which is publicly accessible. You can embed the GIFs directly or download them.
Are there rate limits?
No documented rate limits. The API is lightweight and cached for fast responses.

API Details

API URL
https://yesno.wtf/api
Documentation
yesno.wtf
Category
Fun
Authentication
Not Required
Geographic Coverage
Global

What You Can Build