Characters, episodes and quotes from the sitcom universe. Practice CRUD, Bearer auth, pagination, filtering and every error code — no setup needed.
The Friends API models a sitcom archive: six main characters with jobs and catchphrases, ten episodes, and a quote collection. It is the catalog's introduction to API versioning — the v1 character list is deliberately marked deprecated and answers with Deprecation, Sunset and Link headers pointing at v2, so you can practise the one migration path most public APIs eventually force on their consumers.
Base URL: https://funapi.dev/api/friends/v1 · 14 endpoints · OpenAPI 3.1 spec and Postman collection available. New here? Read the getting started guide.
GET https://funapi.dev/api/friends/v1/episodes — List episodes, filter by season. No token, no signup:
curl -i https://funapi.dev/api/friends/v1/episodes
answers 200 OK with:
{
"total": 10,
"data": [
{
"id": 1,
"title": "The One Where Monica Gets a Roommate",
"season": 1,
"episode": 1,
"rating": 8.3
},
{
"id": 2,
"title": "The One with the Prom Video",
"season": 2,
"episode": 14,
"rating": 9.4
},
{
"id": 3,
"title": "The One Where No One's Ready",
"season": 3,
"episode": 2,
"rating": 8.9
},
{
"id": 4,
"title": "The One with the Embryos",
"season": 4,
"episode": 12,
"rating": 9.5
},
{
"id": 5,
"title": "The One with All the Thanksgivings",
"season": 5,
"episode": 8,
"rating": 9.1
},
{
"id": 6,
"title": "The One with Ross's Sandwich",
"season": 5,
"episode": 9,
"rating": 9
},
{
"id": 7,
"title": "The One Where Everybody Finds Out",
"season": 5,
"episode": 14,
"rating": 9.7
},
{
"id": 8,
"title": "The One with the Cop",
"season": 5,
"episode": 16,
(truncated — the full response comes back when you run it)
the six of them, and more
GET /friends/v1/characters — List all characters (paginated) — v1, deprecated · Responds with 200 400 404 Link to this endpointGET /friends/v1/characters/{id} — Get one character · Responds with 200 400 404 Link to this endpointPOST /friends/v1/characters — Create a character (requires Bearer auth) · Responds with 201 400 401 Link to this endpointPOST /friends/v1/characters/bulk — Batch-create characters (array body, per-item validation) (requires Bearer auth) · Responds with 201 207 400 401 Link to this endpointPUT /friends/v1/characters/{id} — Update a character (requires Bearer auth) · Responds with 200 400 401 404 412 Link to this endpointPOST /friends/v1/characters/bulk-delete — Bulk-delete characters by id (partial success supported) (requires Bearer auth) · Responds with 200 207 400 401 403 Link to this endpointDELETE /friends/v1/characters/{id} — Delete a character (requires Bearer auth) · Responds with 204 401 403 404 412 Link to this endpointGET /friends/v1/characters/{id}/quotes — Get a character's quotes (nested resource) · Responds with 200 404 Link to this endpointGET /friends/v2/characters — List characters — v2 (breaking change: job → occupation, re-wrapped) · Responds with 200 400 404 Link to this endpointGET /friends/version — Discover supported API versions · Responds with 200 Link to this endpointGET /friends/characters — Content-negotiated version via Accept header (406 if unsupported) · Responds with 200 406 Link to this endpointten fan favorites
GET /friends/v1/episodes — List episodes, filter by season · Responds with 200 400 Link to this endpointcould this API BE any more quotable?
GET /friends/v1/quotes/random — A random quote · Responds with 200 Link to this endpointone POST endpoint, query-shaped
POST /friends/v1/graphql — Run a query or mutation over character data · Responds with 200 400 Link to this endpointUnofficial and fan-made. The Friends API is a practice API that borrows a theme; it is not affiliated with, sponsored or endorsed by the owners of the names it references, which belong to them. Every record it returns is test data for exercising HTTP behaviour, not an authoritative source on the subject.
Last updated