Even after Demerzel has achieved Galaxia at the end of time, I don't think I will be able to find out why I caved to those who asked for an API. Each page contains the keys:
interface Book {
  index: number;
  author: string;
  notes: string;
  isbn: number;
  name: string;
}
const data = fetch('https://books.manav.ch/2024.json')
  .then(r => r.json())
  .then(d => console.log(d));
import pandas as pd

data = pandas.read_csv('https://books.manav.ch/2024.csv')
print(data)
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new URL("https://books.manav.ch/2024.xml").openStream());

NodeList books = doc.getElementsByTagName("book");
for (int i = 0; i < books.getLength(); i++) {
    Element book = (Element) books.item(i);
    String title = book.getElementsByTagName("name").item(0).getTextContent;
    System.out.println("Name: " + title);
}
package main

import (
	"fmt"
	"github.com/mmcdole/gofeed"
)

func main() {
	fp := gofeed.NewParser()
	feed, _ := fp.ParseURL("https://books.manav.ch/2024.rss")
	for _, item := range feed.Items {
		fmt.Println(item.Title)
	}
}
if let url = URL(string: "https://books.manav.ch/2024.plist"),
   let data = try? Data(contentsOf: url) {
    let decoder = PropertyListDecoder()
    do {
        let books = try decoder.decode([Book].self, from: data)
        for book in books {
            print("Name: \(book.name)")
        }
    } catch {
        print("Error decoding plist: \(error)")
    }
}