API Documentation

Free · No authentication required · 60 req/min per IP

GET /api/v2 Recommended

Returns all 5 hash types and 7 platform links.

Request

GET https://faviconhasher.codejavu.tech/api/v2?url=https://example.com

Response

{
  "favicon_url": "https://example.com/favicon.ico",
  "hashes": {
    "mmh3": -1234567890,
    "md5":  "d8e8fca2...",
    "sha256":"4355a46b...",
    "phash": "f8e0e0e0...",
    "dhash": "3c3c3c3c..."
  },
  "technology": "Spring Boot",
  "lookup_count": 42,
  "links": {
    "shodan": "https://www.shodan.io/search?query=http.favicon.hash:-1234567890",
    "fofa":   "https://en.fofa.info/result?qbase64=...",
    "zoomeye":"https://www.zoomeye.org/...",
    "censys": "https://platform.censys.io/search?q=...",
    "netlas": "https://app.netlas.io/...",
    "virustotal":"https://www.virustotal.com/...",
    "criminalip":"https://www.criminalip.io/..."
  }
}
GET /api Legacy v1

Backwards-compatible. MMH3 + MD5, Shodan/Censys/ZoomEye/FOFA only.

GET https://faviconhasher.codejavu.tech/api?url=https://example.com
POST /bulk

Up to 10 unique URLs processed with bounded concurrency. JSON body with urls array.

{ "urls": ["https://example.com", "https://google.com"] }

Hash Algorithms

FieldAlgorithmPlatformNotes
mmh3 MurmurHash3 Shodan, FOFA, CriminalIP Signed 32-bit int. Applied to base64-encoded favicon bytes.
md5 MD5 Censys, ZoomEye Hex string. Applied to raw favicon bytes.
sha256 SHA-256 Netlas Hex string. Applied to raw favicon bytes.
phash Perceptual Hash Returned in API Hex visual fingerprint. null if SVG.
dhash Difference Hash VirusTotal Intelligence Hex gradient fingerprint. null if SVG; search requires eligible account.

Code Examples

cURL

curl "https://faviconhasher.codejavu.tech/api/v2?url=https://example.com"

Python

import requests
r = requests.get("https://faviconhasher.codejavu.tech/api/v2",
                 params={"url": "https://example.com"})
d = r.json()
print(d['hashes']['mmh3'], d['technology'])

JavaScript

const r = await fetch("https://faviconhasher.codejavu.tech/api/v2?url=https://example.com");
const d = await r.json();
console.log(d.hashes.mmh3, d.technology);

Rate Limits

EndpointLimitWindow
GET /api, GET /api/v260 requestsper minute per IP
POST /bulk5 requestsper minute per IP
POST /30 requestsper minute per IP