The GuardaFoto API
One endpoint. You send a link, it answers with the public photo that link points to and every real size it exists in. Free, no key, no sign-up.
The endpoint
GET https://guardafoto.com/api/resolve?url=<LINK>
Send the link URL-encoded in the url parameter (the name u works too). It answers JSON, with CORS open (Access-Control-Allow-Origin: *), so you can call it straight from a browser, a script or a WordPress plugin — ours does.
What it accepts
- YouTube channel — youtube.com/@handle, /channel/UC…, /c/name or /user/name. Returns the avatar (up to 1600×1600) and the banner (up to 2560 px wide).
- YouTube video — watch?v=…, youtu.be/… or /shorts/…. Returns the thumbnails that really exist; the grey fake “maxres” placeholder some videos get is filtered out.
- Spotify — artist, album, track or playlist links. Returns the photo or cover in every size Spotify publishes.
- Deezer — artist, album or track links, art up to 1000×1000.
- Apple Music — album links, covers verified by actually reading the file, up to 3000×3000 when Apple publishes them.
Instagram, TikTok, X and Twitch are not in the API: they lock anonymous reads and there is no honest way in without an account key. If that ever changes, they will appear here.
An answer looks like this
{
"ok": true,
"platform": "youtube",
"type": "channel",
"name": "Justin Bieber",
"source_url": "https://www.youtube.com/@justinbieber",
"images": [
{"kind": "avatar", "label": "1600x1600", "width": 1600, "height": 1600,
"url": "https://yt3.googleusercontent.com/…=s1600-c-k-…"},
{"kind": "banner", "label": "2560x424", "width": 2560, "height": 424,
"url": "https://yt3.googleusercontent.com/…"}
],
"cached": true
}
Every size listed was checked against the real file before answering — a size in the answer is a size that exists. images comes sorted biggest first.
Errors
400 missing_url— no link was sent.400 unsupported_platform— the link is not from a supported platform.404 not_found— the link exists on paper but the platform has nothing at that ID.429 rate_limited— fair use is 120 requests a minute per IP. Answers are cached for an hour, so normal use never gets near it.
Fair use
The API is free because it is cheap to run: most answers come from cache and from what the platforms publish openly. Use it in your tools and sites; a link back to guardafoto.com is appreciated but not required. Bulk scraping of the endpoint itself (asking for thousands of unrelated IDs to build a mirror) will get rate-limited — that is what the limit is for. The photos belong to their owners; the API changes nothing about their rights.
Questions or a platform you need: the contact page.