RoboHash API
Free RoboHash API with no key: unique robot, monster, cat or human avatars generated deterministically from any text. Just a URL, no JSON. Tested example.
Endpoint tested and returned HTTP 200 on 2026-08-19
What is the RoboHash API?
RoboHash is a free, key-free API that turns any text into a unique deterministic avatar image — robots by default, with alternative sets for monsters, robot heads, cats and human-like avatars.
RoboHash predates most avatar services and remains one of the simplest: put any string in the URL path and get back an image. The same string always produces the same robot, so it works as a stable identity image without storing anything.
Different `set` values give completely different visual styles, which is useful for distinguishing entity types — robots for services, cats for users, monsters for test accounts, all from the same API.
Quick facts
- Base URL
https://robohash.org- Authentication
- No API key required.
- Rate limit
- No published limit.
- Pricing
- Free. The underlying artwork is CC-BY / CC-SA depending on set — attribution is requested.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the RoboHash API
Every request below was executed against the live API on 2026-08-19, and the response shown is the real body it returned — not an illustration.
1. Generate a robot avatar from text
GET https://robohash.org/bytetools.png?size=200x200
curl 'https://robohash.org/bytetools.png?size=200x200'const res = await fetch("https://robohash.org/bytetools.png?size=200x200");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://robohash.org/bytetools.png?size=200x200", timeout=20)
res.raise_for_status()
print(res.json())# This endpoint returns image/png, not JSON.
# The response body is the image itself, so it can be used directly as an
# <img src="..."> or saved to a file — there is nothing to parse.
#
# Verified: HTTP 200, Content-Type: image/pngParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
<text> | path | Required | Any string to hash into an avatar. bytetools |
set | string | Optional | set1 robots, set2 monsters, set3 robot heads, set4 cats, set5 humans. set4 |
size | string | Optional | Dimensions as WIDTHxHEIGHT. 200x200 |
bgset | string | Optional | bg1 or bg2 to add a generated background. bg1 |
format | string | Optional | png, jpg or bmp via a file extension on the path. png |
Response fields
(image)image- The response body is the avatar image itself, not JSON.
What you can build with the RoboHash API
- Generate distinctive placeholder avatars for demo data
- Give bots and service accounts recognisable identity images
- Create fun default profile pictures for a community site
- Visually distinguish account types using different sets
Common errors and how to fix them
Same image for different users
The seed text is identical.
Fix: Seed with a unique value per user, such as an id or hashed email, not a display name.
Unexpected style
The default is set1 (robots).
Fix: Pass set=set4 for cats, set2 for monsters and so on.
RoboHash API — frequently asked questions
Is RoboHash free?
Yes, free with no API key. The underlying artwork is Creative Commons licensed and attribution is requested.
Are the avatars unique per input?
They are deterministic: the same text always produces the same image. Different text produces a different robot, though with a finite artwork set, collisions are theoretically possible at large scale.
What sets are available?
set1 robots (default), set2 monsters, set3 robot heads, set4 cats and set5 human-like avatars. Each gives a completely different visual style.
Does it return JSON?
No. The response is the image itself, so you can use the URL directly as an img src with no JavaScript at all.
Tools that pair with this API
RoboHash is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-19; always check the official documentation before relying on this API in production, as terms and limits can change.