Build with the AviSeek API
Free, keyless JSON for searching public VRChat avatars. Use it in a website, a Discord bot, a VRChat world or a script.
Base URL https://aviseek.vrchatlegends.com/api
Quickstart
No sign-up and no key. Send a GET request and read JSON back.
curl "https://aviseek.vrchatlegends.com/api/avatars/search?q=protogen&platform=quest&limit=5"Search syntax
The q parameter understands the same operators as the search box on the site. Matching ignores accents and knows common alternate spellings (proto/protogen, kitsune/fox, neko/cat). If nothing matches, the API retries once with typo corrections and returns fuzzy: true plus the corrected query.
| Query | Meaning |
|---|---|
fox girl | Every word must appear (name, creator, tags or description). |
"fox girl" | Exact phrase. |
fox -furry | Leave out avatars containing a word. |
creator:PixelPaws | Only this creator. Quote names with spaces: creator:"Moonfall Studio". |
tag:protogen | Only avatars with this tag. |
platform:quest | pc, quest, ios, cross (PC and Quest), pc_only, quest_only. |
Typeahead
curl "https://aviseek.vrchatlegends.com/api/avatars/suggest?q=neo"Endpoints
The most used public endpoints. Everything else, including account endpoints, is in the full reference.
| Method | Path | What it returns |
|---|---|---|
| GET | /avatars/search | Search with the syntax above. sort=relevance|popular|recent|oldest|name, facets=1 for counts. |
| GET | /avatars/suggest | Typeahead: avatars, creators and tags for a prefix. |
| GET | /avatars/{id} | One listed avatar. |
| GET | /avatars/trending | Most viewed recently. |
| GET | /avatars/tags | Most common tags with counts. |
| GET | /avatars/all | Bulk catalog, 1000 per page. For mirrors and offline tools. |
| POST | /avatars/submit | Queue avatars: avatarId, avatarIds (up to 100) or text (every avtr_ id in it). Returns queue position and ETA. |
| GET | /avatars/submit/status?ids= | Live status for up to 50 submitted ids: queued, checking, indexed, hidden, gone. CORS open. |
| GET | /avatars/creators | Creator directory with avatar counts. |
| GET | /avatars/creators/{usr_id} | One creator and their public avatars. |
| GET | /avatars/tags/{tag} | Avatars with a tag. |
| GET | /avatars/platforms/{pc|quest|ios|cross} | Avatars by platform build. |
| GET | /badges/avatar/{id}.svg | README and profile badges (also /badges/creator/{id}.svg, /badges/avatars.svg). See Badges and embeds. |
| GET | /oembed?url= | oEmbed JSON for avatar and creator pages. |
| GET | /world/search | Compact JSON for VRChat worlds, no key, CORS open. |
| GET | /stats | Catalog totals. |
| GET | /health | Liveness, running commit and uptime. |
Rate limits
Limits are per IP. Every response carries RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset. A 429 also has Retry-After: wait that many seconds. Cache responses where you can; search results are cacheable for 30 seconds.
- Search and reads
- 600 / min
- Typeahead
- 900 / min
- Bulk catalog
- 30 / min
- Submissions
- 100 / min
- World endpoints
- 240 / min
- Reports
- 5 / min
Every response also has an X-Request-Id. Include it when you report a problem.
VRChat worlds
The /world/* endpoints return small, flat JSON that Udon can parse, with open CORS and no key. The world page has a prefab and setup notes.
// VRCStringDownloader needs a pre-baked VRCUrl
public VRCUrl searchUrl; // https://aviseek.vrchatlegends.com/api/world/search?q=fox&limit=50
void Start() => VRCStringDownloader.LoadUrl(searchUrl, (IUdonEventReceiver)this);
public override void OnStringLoadSuccess(IVRCStringDownload result)
{
if (VRCJson.TryDeserializeFromJson(result.Result, out DataToken json))
{
// json["avatars"] is a list of { id, name, author, platforms, thumb }
}
}Embeds and links
Avatar pages have Open Graph and Twitter cards, so pasting a link into Discord, Bluesky or X shows the thumbnail, name and creator. /embed returns ready-made Discord components for bots.
https://aviseek.vrchatlegends.com/avatar/avtr_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxSitemaps and feeds
The sitemap index at /sitemap.xml lists every public avatar with its images (Google image sitemap format). /llms.txt summarises the site for AI tools.
Usage rules
- Personal and non-commercial projects are welcome. Reselling the API needs written permission (Terms).
- Credit “Data from AviSeek” with a link where people can see it.
- Respect creator removals: if an avatar disappears from the API, remove it from your copy.
- Keep to the rate limits and back off on
429.