no key · no human

BeritaHarian API, RSS and sitemap

Every article BeritaHarian publishes, as JSON, through an open API with no key and no signup. 6,182 of their articles are indexed right now, refreshed hourly.

SingaporeMalay#1,291 by volume

Four ways to pull beritaharian.sg

All four are ours, all four are live, and none of them needs a key.

JSON Search this publisher

Every article we hold from beritaharian.sg, newest first. Add q= to search inside.

curl -s "https://freenewsapi.ai/v1/search?host=www.beritaharian.sg&size=20"open it →

RSS Subscribe in any reader

The same articles as an RSS 2.0 feed. Works in Feedly, Inoreader, Thunderbird — anywhere.

curl -s "https://freenewsapi.ai/v1/rss?host=www.beritaharian.sg&size=50"open it →

JSON Feed For apps

JSON Feed 1.1, the same content in a format apps parse natively.

curl -s "https://freenewsapi.ai/v1/feed.json?host=www.beritaharian.sg&size=50"open it →

Trimmed For agents

Only the fields an agent needs — title, url, date, language — so the response stays small.

curl -s "https://freenewsapi.ai/v1/search?host=www.beritaharian.sg&size=20&fields=title,url,published_at,lang"open it →

What this outlet covers, by share of its recent output:

society 29%entertainment 25%environment 14%

Call the API

A live request. Paste it into a terminal and BeritaHarian headlines come back as JSON.

bash
curl "https://freenewsapi.ai/v1/search?host=www.beritaharian.sg&size=5"
6,182
articles indexed
2,712
in the last 30 days
81
median per day
1
languages
24 min
median crawl lag
25.07 → 23.10
archive depth

Publishing volume

Articles per day over the last 90 days. The busiest hour is 21:00 UTC — that is when the newsroom pushes its main batch.

2026-07-26: gap in the upstream archive, the whole corpus dips2026-07-27: gap in the upstream archive, the whole corpus dips2026-07-28: gap in the upstream archive, the whole corpus dips2026-07-29: 47 articles2026-07-30: gap in the upstream archive, the whole corpus dips2026-07-31: gap in the upstream archive, the whole corpus dips2026-08-01: gap in the upstream archive, the whole corpus dips2026-08-02: gap in the upstream archive, the whole corpus dips2026-08-03: gap in the upstream archive, the whole corpus dips2026-08-04: gap in the upstream archive, the whole corpus dips2026-08-05: gap in the upstream archive, the whole corpus dips2026-08-06: gap in the upstream archive, the whole corpus dips2026-08-07: gap in the upstream archive, the whole corpus dips2026-08-08: gap in the upstream archive, the whole corpus dips2026-08-09: gap in the upstream archive, the whole corpus dips2026-08-10: gap in the upstream archive, the whole corpus dips2026-08-11: gap in the upstream archive, the whole corpus dips2026-08-12: gap in the upstream archive, the whole corpus dips2026-08-13: gap in the upstream archive, the whole corpus dips2026-08-14: gap in the upstream archive, the whole corpus dips2026-08-15: gap in the upstream archive, the whole corpus dips2026-08-16: gap in the upstream archive, the whole corpus dips2026-08-17: gap in the upstream archive, the whole corpus dips2026-08-18: gap in the upstream archive, the whole corpus dips2026-08-19: gap in the upstream archive, the whole corpus dips2026-08-20: gap in the upstream archive, the whole corpus dips2026-08-21: gap in the upstream archive, the whole corpus dips2026-08-22: gap in the upstream archive, the whole corpus dips2026-08-23: gap in the upstream archive, the whole corpus dips2026-08-24: gap in the upstream archive, the whole corpus dips2026-08-25: 52 articles2026-08-26: 74 articles2026-08-27: 64 articles2026-08-28: 122 articles2026-08-29: 65 articles2026-08-30: 98 articles2026-08-31: 101 articles2026-09-01: 68 articles2026-09-02: 74 articles2026-09-03: 85 articles2026-09-04: 79 articles2026-09-05: 87 articles2026-09-06: 83 articles2026-09-07: 56 articles2026-09-08: 60 articles2026-09-09: 54 articles2026-09-10: 62 articles2026-09-11: 57 articles2026-09-12: 44 articles2026-09-13: 63 articles2026-09-14: 73 articles2026-09-15: 78 articles2026-09-16: 85 articles2026-09-17: 97 articles2026-09-18: 102 articles2026-09-19: 73 articles2026-09-20: 62 articles2026-09-21: 106 articles2026-09-22: 116 articles2026-09-23: 95 articles2026-09-24: 93 articles2026-09-25: 136 articles2026-09-26: 60 articles2026-09-27: 85 articles2026-09-28: 120 articles2026-09-29: 91 articles2026-09-30: 87 articles2026-10-01: 91 articles2026-10-02: 97 articles2026-10-03: 77 articles2026-10-04: 81 articles2026-10-05: 89 articles2026-10-06: 107 articles2026-10-07: 98 articles2026-10-08: 110 articles2026-10-09: 91 articles2026-10-10: 87 articles2026-10-11: 109 articles2026-10-12: 95 articles2026-10-13: 80 articles2026-10-14: 75 articles2026-10-15: 95 articles2026-10-16: 113 articles2026-10-17: 79 articles2026-10-18: 52 articles2026-10-19: 50 articles2026-10-20: 59 articles2026-10-21: 80 articles2026-10-22: 81 articles2026-10-23: 49 articles08-2509-0909-2410-0910-23

The 29 hatched days are gaps in the upstream news archive, not quiet days at BeritaHarian: the whole corpus dips on those dates. They are excluded from the median above.

bash
curl "https://freenewsapi.ai/v1/stats?host=www.beritaharian.sg&top=10"

Publishing rhythm

When BeritaHarian actually publishes, by hour of day (UTC) and by day of week — measured from 6,182 timestamps, not from a schedule they advertise.

00: 70001: 120102: 660203: 1390304: 1670405: 4590506: 4560607: 5710708: 4430809: 4310910: 4251011: 3441112: 3081213: 2021314: 1891415: 2311516: 2031617: 2151718: 2121819: 1621920: 1322021: 7902122: 102223: 823
Mon: 915MonTue: 882TueWed: 892WedThu: 959ThuFri: 1,036FriSat: 712SatSun: 786Sun

Sections

Sections come from the publisher's own markup, present on 29% of their articles.

SectionArticles
entertainment1,795
society1,795

Languages

The site identifies itself under BeritaHarian, Berita Harian — separate editions publishing under one domain.

CodeLanguageArticlesShare
msMalay6,182100.0%

Latest articles

The 18 most recent BeritaHarian articles in the index — the same rows the API returns, rendered for humans.

Inflasi S’pura turun sedikit pada September
2026-10-23 16:58 UTC · society
DUN Sarawak dibubar 26 Okt, beri laluan PRN-13
2026-10-23 09:19 UTC
KUCHING: Dewan Undangan Negeri (DUN) Sarawak dibubarkan berkuat kuasa 26 Oktober ini, bagi membuka laluan kepada Pilihan Raya Negeri (PRN) ke-13 (PRN13).

Harvest it all

Page through the archive by date. from and to accept YYYY-MM-DD or relative values such as now-7d.

bash
curl "https://freenewsapi.ai/v1/search?host=www.beritaharian.sg&from=now-7d&size=100"

To poll for new material, keep the timestamp of the newest article you saw and ask only for what came after it:

bash
curl "https://freenewsapi.ai/v1/search?host=www.beritaharian.sg&from=now-1h&sort=date_asc"

Article bodies come with full_text=true. No key, no quota tier, no header — see the search endpoint for every parameter.

Metadata quality

How well BeritaHarian marks up its own pages — useful if you are deciding whether to parse them yourself.

29%
dates from JSON-LD
29%
articles with a byline
29%
articles with sections
188 KB
average page weight

Crawl lag — the delay between publication and the article reaching this index — is 24 min at the median, 607 minutes at the 90th percentile.

Similar publishers

Comparable outlets in the same language. Those without a page here yet link straight to their slice of the API.

FAQ

Does BeritaHarian have an official API?

Not a public one. This endpoint is the practical alternative: their articles as structured JSON, with title, lead, publication time, section, byline and a link back to the original.

How do I get their RSS feed?

Most publishers expose one at /rss or /feed, but feeds carry only the last few dozen items and drop them within hours. This index keeps 6,182 of their articles and lets you filter by date, language and section.

How many articles does BeritaHarian publish per day?

81 on a median day, measured across 90 days.

Can I use this commercially?

The API is free and unauthenticated. What you may do with the content is between you and the publisher: we return metadata, a lead paragraph and a link, not a licence.