Skip to content

edideaur/AOTY-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AOTY API

Unofficial REST API for albumoftheyear.org. Scrapes public pages and returns structured JSON. Built with Bun, TypeScript, and Cloudflare Workers.

Setup

bun install

Development

bun run dev

Tests

bun test

Type check

bun run typecheck

Deploy

bun run deploy

API reference

Interactive docs are served at / via Scalar. The raw OpenAPI 3.0.3 spec is at /openapi.json.

Endpoints

Method Path Params Description
GET / Scalar API reference UI
GET /openapi.json OpenAPI 3.0.3 spec
GET /album slug or (artist, name), minimal Full album detail
GET /releases page New album releases
GET /releases/singles page New single releases
GET /upcoming page Upcoming releases
GET /discover Discover albums
GET /discover/singles Discover singles
GET /discover/anticipated Anticipated releases
GET /discover/under-radar Under the radar
GET /must-hear year, decade, page Must-hear albums
GET /news page, type News feed
GET /lists year Publication lists
GET /list/:slug List detail
GET /search q Search albums, artists, labels
GET /search/albums q Search albums
GET /search/artists q Search artists
GET /search/labels q Search labels

Notes

The /album endpoint calls two additional PHP endpoints for stats (favorites, likes, listens, library count, lists) and credits (performers, songwriters, producers). Pass minimal=true to skip those and return only HTML-scraped data.

Both PHP endpoints require same-origin session cookies to return data. Without auth cookies they will return null for stats and credits.

About

cloudflare worker to scrape albumoftheyear.org

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors