Diff RSS API

This service crawls the Diff WordPress RSS feeds across languages and stores post metadata in a database. Use the HTTP API to retrieve posts by category.

Rationale

Diff runs on WordPress.com and uses the Polylang plugin for translations. Unfortunately, this breaks the WordPress.com API and no alternative API is available. This project relies on the site’s RSS feeds instead, discovering all language alternates and ingesting posts (image, title, id, categories, description, pub date). The goal is to provide a stable, language-aware JSON API for consumers.

Endpoints

Examples

Fetch posts under category slug wikimedia:

GET /tags/wikimedia/

Only English and Portuguese:

GET /tags/wikimedia/?languages=en,pt

Response

{
  "category": { "slug": "wikimedia", "name": "Wikimedia" },
  "count": 2,
  "posts": [
    {
      "external_id": "...",
      "language": "en",
      "title": "...",
      "description": "...",
      "image_url": "https://...",
      "link": "https://...",
      "pub_date": "2025-09-11T12:34:56+00:00",
      "categories": [{ "slug": "wikimedia", "name": "Wikimedia" }]
    }
  ]
}

About

This API is public and read-only. For technical details, see the project README on GitHub.