BYTETOOLS

Italian Jokes API

Free joke API with no key returning Italian-themed jokes, each tagged with a subtype such as Wordplay, One-liner or Observational so you can filter the tone. Live example.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 21 Aug 2026

What is the Italian Jokes API?

The Italian Jokes API is a free, key-free endpoint returning Italian-themed jokes. Each joke arrives with an id, a type and a subtype — Wordplay, One-liner, Observational, Long or Stereotype — so you can filter by tone before displaying anything.

The subtype taxonomy is the feature worth using, and not only for variety. `Stereotype` is one of the categories, which is exactly the sort of material you may not want surfacing unfiltered in a product. Because the classification ships with every joke rather than being something you infer, filtering it out is a one-line guard — a rare case of a novelty API making moderation straightforward instead of leaving it to you.

The response shape has one sharp edge. Passing `limit=1` returns a bare object, not an array containing one item, so a client that always indexes `[0]` breaks the moment it is pointed at a single-joke request. Decide up front whether you are handling one shape or two. Note as well that no allow-origin header is sent, so a browser fetch from your own domain will be blocked and a small proxy is required.

Quick facts

Base URL
https://italian-jokes.vercel.app/api
Authentication
No key or account. A small community project hosted on Vercel's free tier.
Rate limit
No rate-limit headers are returned. Keep request volumes modest and cache; the joke pool is small enough to fetch and store locally.
Pricing
Free.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the Italian Jokes API

Every request below was executed against the live API on 21 Aug 2026, and the response shown is the real body it returned — not an illustration.

1. Fetch a random Italian joke

GET https://italian-jokes.vercel.app/api/jokes?limit=1

curl
curl 'https://italian-jokes.vercel.app/api/jokes?limit=1'
JavaScript (fetch)
const res = await fetch("https://italian-jokes.vercel.app/api/jokes?limit=1");
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://italian-jokes.vercel.app/api/jokes?limit=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "id": 21,
  "joke": "As is tradition in Italian families, Maria spends her wedding night in her family home. She was heard exclaiming, 'His shoe size is enormous!'",
  "type": "Italian",
  "subtype": "Long"
}

Parameters

ParameterTypeRequiredDescription
subtypequeryOptionalFilter by tone: `One-liner`, `Observational`, `Wordplay`, `Long` or `Stereotype`. Capitalisation matters. Wordplay
limitqueryOptionalHow many jokes to return. Note that a limit of 1 returns a bare object rather than a one-element array. 1

Response fields

idinteger
Numeric joke id, stable enough to use for deduplication across calls.
jokestring
The joke text itself, already punctuated and ready to display.
typestring
Always `Italian` on this API — present so the shape matches other joke APIs rather than to distinguish anything.
subtypestring
The useful classifier: `Wordplay`, `One-liner`, `Observational`, `Long` or `Stereotype`. Filter on this before display.

What you can build with the Italian Jokes API

  • Add a joke command to a Discord or Slack bot with tone filtering
  • Fill an empty state or loading screen with a one-liner
  • Build a joke-of-the-day widget for a restaurant or food site
  • Practise conditional filtering against a small, well-labelled dataset
  • Seed a party game or icebreaker generator

Common errors and how to fix them

A crash on results[0]

With `limit=1` the response is a bare object, not an array.

Fix: Normalise at the boundary — wrap a non-array response in an array before your rendering code touches it.

An empty response for a subtype

The subtype value is case-sensitive and hyphenated.

Fix: Use the exact forms: `One-liner`, `Observational`, `Wordplay`, `Long`, `Stereotype`.

A CORS error in the browser

No allow-origin header is sent.

Fix: Call it from your backend. Since the joke pool is small, fetching it once and caching is a better pattern anyway.

Content you would rather not ship

The `Stereotype` subtype is exactly what it sounds like.

Fix: Filter it out explicitly rather than relying on chance — the classification exists precisely so you can.

Italian Jokes API — frequently asked questions

Does the Italian Jokes API need an API key?

No. It is entirely open — a plain GET with no key, no account and no headers returns a joke. It is a small community project, so keep request volumes modest.

Can I filter out offensive jokes?

Yes. Every joke carries a `subtype`, and `Stereotype` is one of the values. Filtering on that field is the intended way to control what your application shows, and it is far more reliable than keyword matching.

Why does limit=1 return an object instead of an array?

The API returns a single joke bare rather than wrapping it. Any client that assumes an array will break, so normalise the response — wrap non-arrays in an array — before passing it downstream.

What subtypes are available?

One-liner, Observational, Wordplay, Long and Stereotype. The values are case-sensitive and hyphenated exactly as written, so a lowercase filter returns nothing rather than an error.

Tools that pair with this API

Alternatives to Italian Jokes API

If Italian Jokes does not fit, these game & anime apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.

APIWhat it doesAuthCORSLast verified
PokéAPIFree Pokémon API with no key: stats, types, abilities, moves, evolutions and sprites for 1,000+ species. The most popular API for learning REST. Tested example.No keyYes19 Aug 2026
Rick and Morty APIFree Rick and Morty API with no key: 800+ characters, episodes and locations with images, filtering and pagination. REST and GraphQL. Tested example.No keyYes19 Aug 2026
Jikan (MyAnimeList)Free unofficial MyAnimeList API with no key: anime and manga data, scores, characters, staff and seasonal listings. Tested curl example and live JSON.No keyYes19 Aug 2026
Deck of CardsFree playing card API with no key: shuffle decks, draw cards, manage piles and get card images. Stateful deck ids. Tested curl example and live JSON.No keyYes19 Aug 2026
JokeAPIFree JokeAPI with no key: programming, pun and miscellaneous jokes with category filters, blacklist flags and safe mode for family-friendly output. Tested.No keyYes20 Aug 2026
KitsuFree Kitsu API with no key: anime and manga with synopses, ratings, episode counts, genres and poster images. JSON:API format. Tested curl example.No keyNo20 Aug 2026
All Game & Anime APIs

Italian Jokes is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 21 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.