J-Navi API
Read-only feed API behind the J-Navi app (Burmese-language news for residents of Japan). One endpoint, no auth, JSON in, JSON out.
GET /api/feed
GET/api/feed
Returns posts newest-first, optionally filtered by channel and paginated.
| Param | Type | Default | Description |
|---|---|---|---|
channel | string | — (all channels) | jblog, jcrime, or jfinance |
offset | integer | 0 | Number of posts to skip |
limit | integer | all matching posts | Max posts to return |
Example
curl "https://j-navi.pages.dev/api/feed?channel=jblog&offset=0&limit=2"
[
{
"id": "jblog:111_222",
"channel": "jblog",
"title": "Headline text",
"excerpt": "Full or truncated post text…",
"media": {
"kind": "photo",
"url": "https://scontent.example.com/photo.jpg",
"durationLabel": null
},
"publishedAt": "2026-01-15T10:30:00.000Z",
"sourceUrl": "https://facebook.com/111/posts/222"
}
]
Post fields
| Field | Type | Notes |
|---|---|---|
id | string | Unique, stable |
channel | string | jblog / jcrime / jfinance |
title | string | First line of the source post, truncated to 80 chars |
excerpt | string | Full post text, truncated to 280 chars |
media.kind | string | photo or video — always present |
media.url | string? | Hotlinked image; absent for text-only source posts |
media.durationLabel | string? | e.g. "1:24", video only |
publishedAt | string | ISO 8601 UTC |
sourceUrl | string? | Permalink to the original Facebook post |
Notes
CORS is open (Access-Control-Allow-Origin: *) — this exists
for the native iOS/Android app, which calls it as an absolute
cross-origin URL. Content refreshes automatically every 6 hours from
the source Facebook Pages; there's no write access.