REST API
공개 REST API
기사·검색·소스·태그를 JSON으로 제공합니다. 웹사이트에서 직접 볼 때는 키 없이 읽지만, 서버·스크립트 등 외부에서 호출하려면 승인된 API 키가 필요합니다. 키에는 일일 호출 한도가 적용되며, 같은 키로 MCP까지 연동할 수 있습니다.
API 키 발급
서버·스크립트 등 외부에서 /api/v1/*를 호출하려면 API 키가 필요합니다. 신청하면 운영자 승인 후 발급됩니다. 같은 사이트 안 브라우저, RSS(/rss/*)·llms.txt는 키 없이 씁니다.
현재 API는 무료 베타입니다
추후 일부 기능이 유료로 전환될 수 있습니다. 베타 기간 동안 발급된 키는 일일 호출 한도 안에서 무료로 사용할 수 있습니다.
불러오는 중...
공개 endpoint
검색·페이지네이션·태그·소스 필터가 필요한 연동에 사용하세요. 외부(서버·스크립트·curl)에서는 API 키를 헤더로 전달합니다.
Base URLhttps://aibriefing.imbch.dev
Public auth앱 면제 · 외부 키 필요
Read limitroute별 30~240/min
| Method | Endpoint | Purpose |
|---|---|---|
| GET | /api/v1 | Machine-readable catalog for public and user REST endpoints. |
| GET | /api/v1/announcement | Current public announcement banner settings. |
| GET | /api/v1/articles | Public processed articles from active sources. |
| GET | /api/v1/articles/search | Search public articles by keyword, source prefix, and tags. |
| GET | /api/v1/articles/:id | Public article detail for a processed article from an active source. |
| GET | /api/v1/articles/:id/related | Related public articles by shared tags and source fallback. |
| GET | /api/v1/articles/trending | Recent high-score public articles. |
| GET | /api/v1/articles/weekly-top | Top public articles from the last week by view count. |
| GET | /api/v1/feed-all | Unified feed of articles, board posts, and releases. |
| GET | /api/v1/posts | Published community/showcase board posts. |
| GET | /api/v1/posts/:slug | A single published board post by slug. |
| GET | /api/v1/post-categories | Board post categories. |
| GET | /api/v1/releases/latest | Latest GitHub release article per release source. |
| GET | /api/v1/releases | GitHub release targets. targetKey returns target detail; versionId selects a release version. |
| GET | /api/v1/source-categories | Source category list. |
| GET | /api/v1/sources | Active public sources grouped by category. |
| GET | /api/v1/tags | Popular public tags grouped by entity type. |
| GET | /api/v1/tags/:slug/articles | Public articles for a tag slug. |
| GET | /api/v1/trending/github | GitHub trending repositories via GitHub API. |
| GET | /api/v1/trending/huggingface | Trending Hugging Face models via Hugging Face API. |
요청 예시
/api/v1/articles?limit=10&sort=latest /api/v1/articles?source=geeknews&limit=10 /api/v1/articles/search?q=Reddit:%20llm /api/v1/sources /api/v1/tags
응답 형태
{
"data": [
{
"id": 123,
"title": "Original title",
"titleKo": "한국어 기사 제목",
"hookTitleKo": "운영 정책에 따라 노출되는 훅 제목",
"url": "https://example.com/original-article",
"sourceName": "GeekNews",
"sourceSlug": "geeknews",
"sourceIconUrl": "https://...",
"sourceUrl": "https://news.hada.io",
"viewCount": 12,
"likeCount": 3,
"publishedAt": "2026-04-29T00:00:00.000Z"
}
],
"pagination": { "page": 1, "limit": 10, "total": 42, "totalPages": 5 }
}오류는 HTTP 상태 코드와 JSON 메시지로 반환됩니다. rate limit을 초과하면429와 Retry-After 헤더가 돌아옵니다.
로그인 사용자 API
북마크, 좋아요, 싫어요, 읽음 기록, 즐겨찾기, 소스 건의는 Supabase access token이 필요합니다. 토큰은 Authorization: Bearer헤더로 전달합니다. 관리자 API는 공개 문서에서 제외합니다.
| Method | Endpoint | Purpose |
|---|---|---|
| POST | /api/v1/articles/:id/view | Record an article view (anonymous allowed; deduped by server IP). |
| POST | /api/v1/suggestions | Submit a source suggestion (legacy; the app now routes this through /contact). |
| GET | /api/v1/me/bookmarks | The signed-in user's bookmarks (also POST/DELETE to toggle). |
| GET | /api/v1/me/likes | The signed-in user's likes (also POST/DELETE). Dislikes at /api/v1/me/dislikes. |
| GET | /api/v1/me/reads | The signed-in user's read history (also POST). |
| GET | /api/v1/me/favorites | The signed-in user's favorites (also POST/DELETE). Source favorites at /api/v1/me/favorite-sources. |