Trace Moe API

Beginner's Pick Anime / No Auth Required Beginner HTTPS
Free to Use 100 per window (99 remaining at test time)
73 B
Measured Score 0 50 100 Speed 8/30 Consistency 20/20 Security 20/20 Browser access 10/15 Transparency 15/15 TESTED 2026-08-10

Overview

Trace.moe finds the exact anime scene matching a screenshot or image you upload, returning the anime title, episode number, and timestamp of the matching scene. It uses video fingerprinting to search a database of thousands of anime episodes. Beginners building anime identification tools or Discord bots will find it straightforward since no API key is required.

Beginner Tip

You can search by either uploading an image file or passing an image URL as the url query parameter. For quick tests, try passing a direct image URL to avoid multipart form setup.

Measurement Record

What actually happened when we called this API from our own infrastructure. Every value below was recorded by the request, not copied from the provider's documentation.

Request
GET https://api.trace.moe/search?url=https://images.plurk.com/32B15UXxymfSMwKGTObY5e.jpg
Result
HTTP 200 · application/json · 3,398 bytes · compressed
Response time
397 ms (median of 3) · fastest 389 ms
Transport
TLSv1.3 · TLS_AES_256_GCM_SHA384 · certificate issued by Google Trust Services
Browser CORS
Allowed — Access-Control-Allow-Origin: https://apisscore.com
Rate limit
100 per window (99 remaining at test time)
Served by
cloudflare
Recorded
2026-08-10

Fields Returned

Top-level fields present in the response we captured, with the type and value we actually received.

Field Type Value received
quota integer 100
quotaUsed integer 3
frameCount integer 1699955082
error string
result array [1 item]

Captured Response

Captured from a real request to https://api.trace.moe/search?url=https://images.plurk.com/32B15UXxymfSMwKGTObY5e.jpg on 2026-08-10. Long arrays and nested objects are truncated to keep the shape readable.

JSON Response · Captured
{
  "quota": 100,
  "quotaUsed": 3,
  "frameCount": 1699955082,
  "error": "",
  "result": [
    {
      "anilist": 21034,
      "filename": "Gochuumon wa Usagi Desuka 2 - 01 (BD 1280x720 x264 AAC).mp4",
      "episode": 1,
      "from": 272.1886,
      "at": 279.7795,
      "to": 282.6574,
      "duration": 1418.0834,
      "similarity": 0.9922267306084727,
      "video": "https://api.trace.moe/video/Ad5mtcF3IVJki1XuxwIiyWo",
      "image": "https://api.trace.moe/image/Ad5mtcF3IVJki1XuxwIiyWo"
    }
  ]
}

Field Reference

result Ordered list of scene matches, highest similarity first.

Implementation Example

Request skeleton. The URL below is this API's documentation page, not a live endpoint — swap in the path you need from the provider's docs before running it.

Request
const url = "https://soruly.github.io/trace.moe-api/";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

How This API Fails

We deliberately sent this API a broken request and recorded exactly what came back on 2026-08-10. Knowing the shape of an error before you hit it makes error handling much easier to write.

HTTP 404 Requesting a path that does not exist text/html

Returned an HTML error page rather than JSON — worth knowing if your client assumes every response can be parsed as JSON.

HTTP 400 Sending an invalid value for "url" application/json
{
  "error": "Invalid image url !!!invalid!!!"
}

Common Errors & Troubleshooting

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

400 Bad Request No image was provided or the image URL is not publicly accessible.
Ensure the URL points directly to an image file (jpg/png) without redirects, or upload the file as multipart/form-data.
429 Too Many Requests Exceeded the anonymous rate limit (10 searches per 10 seconds).
Obtain a free API token at trace.moe to get a higher quota, or add delays between requests.
503 Service Unavailable The trace.moe search engine is temporarily overloaded.
Retry with exponential backoff; the service typically recovers within seconds.

Measured Score Breakdown

Live HTTP request to the API endpoint

Speed 8/30
Consistency 20/20
Security 20/20
Browser access 10/15
Transparency 15/15
Endpoint Response Time 397ms

Fully tested on Aug 10, 2026

Technical Specifications

Auth No Auth
HTTPS REQUIRED
CORS NO
Category Anime
Difficulty Beginner
Endpoint last called: 2026-08-10

Related Tags

Similar APIs

View All →