Open source · MIT · No API key

A wallpaper API
with no backend.

Drop images into GitHub folders. A workflow publishes images.json to jsDelivr. Flutter, React Native, and the web fetch one file.

Read the docs
In the index
7
Categories
5
Backend
None
GETimages.json

https://cdn.jsdelivr.net/gh/AMRITO-KUNDU/wallpapers-CDN@main/images.json

Cached at the edge on jsDelivr. This is the URL your app should call.

GETGitHub raw

https://raw.githubusercontent.com/AMRITO-KUNDU/wallpapers-CDN/main/images.json

Same JSON, served directly from the repository.

Response

What the JSON contains.

Cached sample
FieldDescription
categoryFolder name used as the category
filesWallpapers in that folder
nameOriginal filename
urlFull-resolution image on jsDelivr
thumbnailOptional WebP preview
Example payload
[
  {
    "category": "Nature",
    "files": [
      {
        "name": "nature-mountain-lake.jpg",
        "url": "https://cdn.jsdelivr.net/gh/AMRITO-KUNDU/wallpapers-CDN@main/wallpapers/Nature/nature-mountain-lake.jpg",
        "thumbnail": "https://cdn.jsdelivr.net/gh/AMRITO-KUNDU/wallpapers-CDN@main/thumbnails/Nature/nature-mountain-lake.webp"
      }
    ]
  }
]

The index

A sample from each category.

The JSON can list thousands of files. This page shows one wallpaper per folder so you can see how categories are grouped.

Open images.json
  • Anime

    1 file in JSON

  • Quotes

    1 file in JSON

  • Space

    2 files in JSON

  • Abstract

    1 file in JSON

  • Nature

    2 files in JSON

5 categories7 files total

File counts come from the live JSON, not this page.

How it works

Folders in. JSON out.

  1. 01

    Add images

    Each folder under wallpapers/ is a category. JPG, PNG, and WebP are supported.

  2. 02

    Push to GitHub

    An Action scans the folders and commits a fresh images.json. No manual editing.

  3. 03

    GET the index

    Apps fetch one JSON file from jsDelivr and receive categories, filenames, and CDN URLs.

  • No backend

    GitHub is the database. jsDelivr is the CDN. You do not run a server.

  • One JSON file

    Categories, names, full-resolution URLs, and optional WebP thumbnails.

  • Edge cached

    jsDelivr serves the index and every image from a public CDN.

  • Git as CMS

    Adding a wallpaper is a commit. Removing one is a commit.

Clients

Fetch JSON.
Render URLs.

There is no SDK. Point any HTTP client at the index, then use url for the wallpaper and thumbnail in grids.

  • 01Works with fetch, Dio, http, Alamofire — anything that can GET JSON.
  • 02No API key, CORS header, or rate-limited origin of your own.
  • 03New files appear in the index after the GitHub Action runs.
JavaScript / Web
const INDEX =
  "https://cdn.jsdelivr.net/gh/AMRITO-KUNDU/wallpapers-CDN@main/images.json";

const catalog = await fetch(INDEX).then((res) => res.json());

const nature = catalog.find(
  (group) => group.category.toLowerCase() === "nature"
);

const wallpaper = nature.files[0];
// wallpaper.url is a direct CDN image