ASP.NET Core 8 · JSON file store

Khabrilal News Aggregator API

Khabrilal is a real-time news aggregation platform. A scheduled Python fetcher collects the latest stories from RSS feeds and writes them as JSON; this API reads those files and serves them to the React web UI and any other client.

Checking article availability…

How it works

1. Fetch graph/fetch.py scrapes portals from dailyrun.json and writes YYYYMMDD_HHMMSS.json.
→
2. Store Files land in LOCAL_OUTPUT_FOLDER (the news folder) — no database.
→
3. Serve This API merges the folders, normalizes fields, and serves JSON with CORS.
→
4. Display The React app in ui/ renders the articles.

About the project

What it does

Aggregates trending news across World, Business, Technology, Sports, Entertainment, Health and Science, ranked by recency and trending signals.

Where the data lives

Plain JSON files on disk. Any *.json file in a configured folder is picked up; parsed results are cached until the files change.

Article fields

title, link, shorturl, thumbnail, first_paragraph, summary, category, trending, timestamp, portal_name, language, state, ranking.

Ordering

List endpoints return newest first by timestamp; category queries sort by ranking (1–100) then newest.

Endpoints

Method Path Description
GET /top10 10 most recent articles.
GET /latest/{timestamp}/previous/{top} Top N articles published before the timestamp.
GET /latest/{timestamp}/next/{top} Top N articles published after the timestamp.
GET /news/category/{category}/latest/{timestamp}/previous/{top} Same as above, filtered by category and ranked highest first.
GET /news/category/{category}/latest/{timestamp}/next/{top} Same as above, filtered by category and ranked highest first.
GET /files/ List the available article JSON files.
GET /files/{fileName} Raw contents of one article JSON file.
GET /api/info Machine-readable service info: version, source folders, endpoint list.
GET /swagger/ Interactive OpenAPI documentation.

Notes for clients