BYTETOOLS

PlaceKeanu API

Free novelty placeholder service with no key: dimensions in the path return a Keanu Reeves placeholder, with greyscale and young-Keanu variants. Tested example included.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 21 Aug 2026

What is the PlaceKeanu API?

PlaceKeanu returns placeholder images of Keanu Reeves at any dimensions you request, with no API key. Path segments select greyscale and a younger-era variant, and the service responds with an SVG wrapper rather than a raster file.

The novelty placeholder genre exists because a design review goes differently when the placeholder is funny — people actually look at the mockup. This one is among the better-known examples, and it behaves exactly like the other services in its family: two numbers in the path, an image back, nothing to configure.

There is one genuine technical surprise. The response arrives as `image/svg+xml` with a `viewBox`, not as a JPEG or PNG — the service wraps the photograph in an SVG at your requested dimensions. That is harmless in an `img` tag, and it actually scales more gracefully than a raster file would, but it will break any pipeline that assumes it can read raster pixels or that sniffs the format from the bytes. Path variants add `/g/` for greyscale and `/y/` for a younger Keanu.

Quick facts

Base URL
https://placekeanu.com
Authentication
No API key, no account and no configuration.
Rate limit
No published limit.
Pricing
Free.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the PlaceKeanu 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 200x200 Keanu placeholder

GET https://placekeanu.com/200/200

curl
curl 'https://placekeanu.com/200/200'
JavaScript (fetch)
const res = await fetch("https://placekeanu.com/200/200");
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://placekeanu.com/200/200", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200" viewBox="0 0 544 800" preserveAspectRatio="xMidYMid slice"><image xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAgICAgICAkKCgkMDQwNDBIQDw8QEhsTFRMVExspGR4ZGR4ZKSQsJCEkLCRBMy0tM0FLPzw/S1tRUVtybHKVlckBCAgICAgICQoKCQwNDA0MEhAPDxASGxMVExUTGykZHhkZHhkpJCwkISQsJEEzLS0zQUs/PD9

Parameters

ParameterTypeRequiredDescription
widthpathRequiredRequested width in pixels. 200
heightpathRequiredRequested height in pixels. 200
/g/pathOptionalGreyscale variant.
/y/pathOptionalYoung Keanu variant.

Response fields

(body)image/svg+xml
An SVG wrapping the photograph at your requested dimensions, with a `viewBox` and `preserveAspectRatio`. Not a raster image, despite what you might expect.
Content-Typeheader
`image/svg+xml`. Any pipeline expecting JPEG or PNG bytes will need adjusting.

What you can build with the PlaceKeanu API

  • Make a design review mockup more engaging than grey boxes
  • Demonstrate a photo layout at arbitrary aspect ratios
  • Test that your image handling copes with an SVG response
  • Fill a prototype gallery quickly

Common errors and how to fix them

Image processing library rejects the file

The response is SVG, not a raster format.

Fix: Handle `image/svg+xml`, or use a raster placeholder service if your pipeline cannot.

Cross-origin fetch blocked

No CORS header is sent.

Fix: An `img` tag works. Reading the SVG source with fetch will not.

Odd framing at extreme ratios

The SVG preserves aspect ratio and crops to fit.

Fix: Stay near photographic proportions for a sensible result.

PlaceKeanu API — frequently asked questions

Is PlaceKeanu free?

Yes, free with no key or account. It is a novelty placeholder service for mockups.

What format does it return?

SVG, not JPEG or PNG — the photograph is wrapped in an SVG at your requested dimensions. That scales well but surprises pipelines expecting raster bytes.

What variants are there?

Prefix the path with `/g/` for greyscale or `/y/` for a younger Keanu. There are no query parameters.

Should I use it in production?

No. It is a mockup tool, and the images are of a real person with no licence granted for commercial use.

Tools that pair with this API

Alternatives to PlaceKeanu API

If PlaceKeanu does not fit, these photography & design 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
Metropolitan Museum of ArtFree Metropolitan Museum of Art API with no key: 470,000+ artworks with high-resolution public-domain images, artist data and full object metadata. Tested.No keyNo19 Aug 2026
Art Institute of ChicagoFree Art Institute of Chicago API with no key: 130,000+ artworks with IIIF images, colour data, artist info and rich metadata. Well documented. Tested example.No keyYes19 Aug 2026
Cleveland Museum of ArtFree Cleveland Museum of Art API with no key: 60,000+ artworks with open-access images, provenance, exhibition history and full metadata. Tested curl example.No keyNo19 Aug 2026
DiceBear AvatarsFree avatar generator API with no key: deterministic SVG or PNG avatars from any seed, in 30+ styles with customisable colours. Tested curl example.No keyYes19 Aug 2026
Readme Typing SVGFree animated SVG API with no key: generate a typing-and-deleting text animation from URL parameters, embeddable anywhere an image works. Tested example included.No keyNo21 Aug 2026
RoboHashFree RoboHash API with no key: unique robot, monster, cat or human avatars generated deterministically from any text. Just a URL, no JSON. Tested example.No keyYes19 Aug 2026
All Photography & Design APIs

PlaceKeanu 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.