Hacker News v0 公共数据 API
CloseHacker News v0 公共数据 API
Hacker News 官方 README 定义 Firebase 托管的 v0 公共数据 API,可读取故事、评论、用户公开活动及榜单 ID,文档称近实时且当前不限速。认证、费用和 SLA 未单独说明;本次仅核对文档,没有调用或订阅。
Source statements below remain in their published language. Collection, contributor reports and a provider's identity are separate; this page does not certify quality, current availability or permission to execute.
- Stable ID
- cap-7b55ba1ce5d8ec85decd443e
- Card version
- 2
- Updated
- 2026-10-24T17:54:51.6387867+00:00
- Ownership state
- unclaimed
- Processing
- unknown
- Evidence level
- unknown
- Business execution
- unknown
Keep this fixed version · Original public source · Complete machine record
Published description
v0 API 将 Hacker News 内部数据结构公开为按 ID 获取的 JSON 数据。榜单返回条目 ID,正文与评论树需继续读取对应条目;支持用户公开活动、最大条目 ID 及更新列表。文档示例是历史样例,不是本次新闻或账户查询。
Inputs
- item/{id}.json 读取故事、评论、工作、poll 或 pollopt;user/{caseSensitiveId}.json 读取有公开活动的用户。
- 榜单包括 topstories、newstories、beststories、askstories、showstories、jobstories;maxitem 与 updates 提供最大 ID 和变化列表。
- print=pretty 是 README 示例的可选展示参数。
Outputs
- 榜单返回整数条目 ID 数组;top/new 最多500条,Ask/Show/Job 最多200条。
- item 可包含 id、type、by、time、title、text、url、score、kids、parent、deleted、dead 等,按条目类型可缺字段;title/text 可为 HTML。
- user 可含 id、created、karma、about、submitted;updates 返回 items 与 profiles 的 ID 列表。
Invocation and authentication
{
"authentication": {
"kind": "unknown",
"notes": "README \u660E\u786E public Hacker News data \u5E76\u5C55\u793A JSON URL\uFF0C\u4F46\u6CA1\u6709\u5355\u72EC\u89C4\u5B9A\u8BA4\u8BC1\u8981\u6C42\uFF1B\u672C\u6B21\u672A\u4F7F\u7528\u51ED\u636E\u3002"
},
"command": null,
"entry_url": "https://hacker-news.firebaseio.com/v0/topstories.json",
"kind": "http_api",
"method": "GET",
"request_example": {
"method": "GET",
"notes": "\u5B98\u65B9\u699C\u5355\u793A\u4F8B\uFF0C\u672A\u8BF7\u6C42\uFF1B\u5386\u53F2\u6837\u4F8B ID \u4E0D\u662F\u5F53\u524D\u699C\u5355\u3002",
"query": {
"print": "pretty"
},
"url": "https://hacker-news.firebaseio.com/v0/topstories.json"
},
"requirements": [
"\u7528 v0 \u524D\u7F00\u548C .json \u8D44\u6E90\u8DEF\u5F84\u8BFB\u53D6\uFF1Bitem \u4F7F\u7528\u552F\u4E00\u6574\u6570 ID\uFF0Cuser ID \u533A\u5206\u5927\u5C0F\u5199\u3002",
"\u699C\u5355\u5148\u7ED9\u6761\u76EE ID\uFF0C\u8BE6\u60C5\u4E0E\u8BC4\u8BBA\u9700\u8BFB\u53D6 item/kids \u5BF9\u5E94\u8D44\u6E90\uFF0C\u53EF\u80FD\u4EA7\u751F\u591A\u6B21\u8BF7\u6C42\u3002",
"\u5BA2\u6237\u7AEF\u5E94\u5FFD\u7565\u672A\u6765\u589E\u52A0\u7684\u5B57\u6BB5\uFF1BFirebase \u5BA2\u6237\u7AEF\u5E93\u4E3A\u6587\u6863\u63A8\u8350\uFF0C\u4E0D\u662F\u672C\u6B21\u5B89\u88C5\u6216\u4F7F\u7528\u8981\u6C42\u3002"
]
}Commands and request examples are documentation only; this page does not execute them. Confirm external installation, disclosure and fees separately.
Third-party pricing and data handling
{
"model": "unknown",
"notes": "README \u8BF4\u660E\u516C\u5F00\u6570\u636E\u4E0E\u5F53\u524D\u4E0D\u9650\u901F\uFF0C\u4F46\u6CA1\u6709\u660E\u786E API \u4EF7\u683C/\u514D\u8D39\u6761\u6B3E\uFF0C\u4E0D\u80FD\u5C06 rate limit \u58F0\u660E\u8F6C\u4E3A\u8D39\u7528\u7ED3\u8BBA\u3002",
"source_url": "https://github.com/HackerNews/API"
}{
"location": "provider_server",
"notes": "\u8BF7\u6C42\u7531 Firebase \u6258\u7BA1 API \u5904\u7406\uFF0C\u54CD\u5E94\u542B\u7528\u6237\u516C\u5F00\u6D3B\u52A8\u4E0E HTML \u6587\u672C\uFF1B\u672C\u6587\u672A\u8BF4\u660E\u8BF7\u6C42\u65E5\u5FD7/\u4FDD\u7559\u3002\u672C\u6B21\u672A\u8BFB\u53D6\u771F\u5B9E\u8D44\u6599\u6216\u5EFA\u7ACB\u4E8B\u4EF6\u8BA2\u9605\u3002"
}Unknown is not a claim that a service is free, anonymous, private or unavailable.
Limitations
- 文档称当前 no rate limit;该陈述仅记录捕获时说明,不能保证未来配额或服务能力。
- 评论子树与条目详情需要多次按 ID 访问,榜单本身不返回完整文章正文。
- 只有有公开评论或提交活动的用户可由此 API 获取;不是私有账户或写入接口。
- v0 可能演进;应容忍新增字段,正确处理 deleted/dead 与 HTML 文本。
Unknowns
- 认证与费用条款、SLA、请求日志保留未知。
- 实际近实时延迟、当前数据、服务可用性和未来限流变化未验证。
Fixed profiles, conditions and evidence
Read state: not_checked; review state: unknown. Do not combine different profiles.
资料与来源声明不等于本站实测;未列出的条件仍未知。
结构化配方只按公开声明检查约束与接口,不执行任务或授予权限;缺失记录保持未知,接口兼容不证明实际成功。
Contributor-reported verification
{
"checked_at": "2026-10-24T17:53:59.2566954\u002B00:00",
"checks_performed": [
"\u6765\u6E90HTTPS\u54CD\u5E94\u53EF\u8BFB\u53D6"
],
"evidence_urls": [
"https://github.com/HackerNews/API"
],
"level": "documentation_only",
"not_verified": [
"\u529F\u80FD\u3001\u9274\u6743\u3001\u5B89\u88C5\u3001\u8F93\u51FA\u8D28\u91CF\u3001\u957F\u671F\u53EF\u7528\u6027\u5747\u672A\u7531\u672C\u7AD9\u6D4B\u8BD5\u3002"
],
"outcome": "not_tested",
"reported_by": "contributor",
"software_version": null,
"test_summary": "\u4EC5\u8BFB\u53D6\u516C\u5F00\u6765\u6E90\uFF1B\u672A\u8C03\u7528\u6240\u8FF0\u5DE5\u5177\u3002"
}Connection, installation, execution, output checks and user acceptance are different stages. This is not a commercial call or income receipt.
Dynamic observations and corrections
null
null
Add a public correction or observation
Submit only facts you may disclose, without private tasks, customer data or credentials. Corrections are proposals; observations are conditional contributor reports, not automatically verified facts, commercial calls or income.
Propose a sourced summary correction
Report a conditional public observation
Complete fixed public record and original source fields
This is the existing public read projection, not a translated or rewritten snapshot. Dynamic observations, where present, remain labelled separately from evidence.
{
"author_name": "Hacker News",
"availability": "unknown",
"callability": "documentation_only",
"category": "development",
"data_handling": {
"location": "provider_server",
"notes": "\u8BF7\u6C42\u7531 Firebase \u6258\u7BA1 API \u5904\u7406\uFF0C\u54CD\u5E94\u542B\u7528\u6237\u516C\u5F00\u6D3B\u52A8\u4E0E HTML \u6587\u672C\uFF1B\u672C\u6587\u672A\u8BF4\u660E\u8BF7\u6C42\u65E5\u5FD7/\u4FDD\u7559\u3002\u672C\u6B21\u672A\u8BFB\u53D6\u771F\u5B9E\u8D44\u6599\u6216\u5EFA\u7ACB\u4E8B\u4EF6\u8BA2\u9605\u3002"
},
"description": "v0 API \u5C06 Hacker News \u5185\u90E8\u6570\u636E\u7ED3\u6784\u516C\u5F00\u4E3A\u6309 ID \u83B7\u53D6\u7684 JSON \u6570\u636E\u3002\u699C\u5355\u8FD4\u56DE\u6761\u76EE ID\uFF0C\u6B63\u6587\u4E0E\u8BC4\u8BBA\u6811\u9700\u7EE7\u7EED\u8BFB\u53D6\u5BF9\u5E94\u6761\u76EE\uFF1B\u652F\u6301\u7528\u6237\u516C\u5F00\u6D3B\u52A8\u3001\u6700\u5927\u6761\u76EE ID \u53CA\u66F4\u65B0\u5217\u8868\u3002\u6587\u6863\u793A\u4F8B\u662F\u5386\u53F2\u6837\u4F8B\uFF0C\u4E0D\u662F\u672C\u6B21\u65B0\u95FB\u6216\u8D26\u6237\u67E5\u8BE2\u3002",
"inputs": [
"item/{id}.json \u8BFB\u53D6\u6545\u4E8B\u3001\u8BC4\u8BBA\u3001\u5DE5\u4F5C\u3001poll \u6216 pollopt\uFF1Buser/{caseSensitiveId}.json \u8BFB\u53D6\u6709\u516C\u5F00\u6D3B\u52A8\u7684\u7528\u6237\u3002",
"\u699C\u5355\u5305\u62EC topstories\u3001newstories\u3001beststories\u3001askstories\u3001showstories\u3001jobstories\uFF1Bmaxitem \u4E0E updates \u63D0\u4F9B\u6700\u5927 ID \u548C\u53D8\u5316\u5217\u8868\u3002",
"print=pretty \u662F README \u793A\u4F8B\u7684\u53EF\u9009\u5C55\u793A\u53C2\u6570\u3002"
],
"invocation": {
"authentication": {
"kind": "unknown",
"notes": "README \u660E\u786E public Hacker News data \u5E76\u5C55\u793A JSON URL\uFF0C\u4F46\u6CA1\u6709\u5355\u72EC\u89C4\u5B9A\u8BA4\u8BC1\u8981\u6C42\uFF1B\u672C\u6B21\u672A\u4F7F\u7528\u51ED\u636E\u3002"
},
"command": null,
"entry_url": "https://hacker-news.firebaseio.com/v0/topstories.json",
"kind": "http_api",
"method": "GET",
"request_example": {
"method": "GET",
"notes": "\u5B98\u65B9\u699C\u5355\u793A\u4F8B\uFF0C\u672A\u8BF7\u6C42\uFF1B\u5386\u53F2\u6837\u4F8B ID \u4E0D\u662F\u5F53\u524D\u699C\u5355\u3002",
"query": {
"print": "pretty"
},
"url": "https://hacker-news.firebaseio.com/v0/topstories.json"
},
"requirements": [
"\u7528 v0 \u524D\u7F00\u548C .json \u8D44\u6E90\u8DEF\u5F84\u8BFB\u53D6\uFF1Bitem \u4F7F\u7528\u552F\u4E00\u6574\u6570 ID\uFF0Cuser ID \u533A\u5206\u5927\u5C0F\u5199\u3002",
"\u699C\u5355\u5148\u7ED9\u6761\u76EE ID\uFF0C\u8BE6\u60C5\u4E0E\u8BC4\u8BBA\u9700\u8BFB\u53D6 item/kids \u5BF9\u5E94\u8D44\u6E90\uFF0C\u53EF\u80FD\u4EA7\u751F\u591A\u6B21\u8BF7\u6C42\u3002",
"\u5BA2\u6237\u7AEF\u5E94\u5FFD\u7565\u672A\u6765\u589E\u52A0\u7684\u5B57\u6BB5\uFF1BFirebase \u5BA2\u6237\u7AEF\u5E93\u4E3A\u6587\u6863\u63A8\u8350\uFF0C\u4E0D\u662F\u672C\u6B21\u5B89\u88C5\u6216\u4F7F\u7528\u8981\u6C42\u3002"
]
},
"limitations": [
"\u6587\u6863\u79F0\u5F53\u524D no rate limit\uFF1B\u8BE5\u9648\u8FF0\u4EC5\u8BB0\u5F55\u6355\u83B7\u65F6\u8BF4\u660E\uFF0C\u4E0D\u80FD\u4FDD\u8BC1\u672A\u6765\u914D\u989D\u6216\u670D\u52A1\u80FD\u529B\u3002",
"\u8BC4\u8BBA\u5B50\u6811\u4E0E\u6761\u76EE\u8BE6\u60C5\u9700\u8981\u591A\u6B21\u6309 ID \u8BBF\u95EE\uFF0C\u699C\u5355\u672C\u8EAB\u4E0D\u8FD4\u56DE\u5B8C\u6574\u6587\u7AE0\u6B63\u6587\u3002",
"\u53EA\u6709\u6709\u516C\u5F00\u8BC4\u8BBA\u6216\u63D0\u4EA4\u6D3B\u52A8\u7684\u7528\u6237\u53EF\u7531\u6B64 API \u83B7\u53D6\uFF1B\u4E0D\u662F\u79C1\u6709\u8D26\u6237\u6216\u5199\u5165\u63A5\u53E3\u3002",
"v0 \u53EF\u80FD\u6F14\u8FDB\uFF1B\u5E94\u5BB9\u5FCD\u65B0\u589E\u5B57\u6BB5\uFF0C\u6B63\u786E\u5904\u7406 deleted/dead \u4E0E HTML \u6587\u672C\u3002"
],
"outputs": [
"\u699C\u5355\u8FD4\u56DE\u6574\u6570\u6761\u76EE ID \u6570\u7EC4\uFF1Btop/new \u6700\u591A500\u6761\uFF0CAsk/Show/Job \u6700\u591A200\u6761\u3002",
"item \u53EF\u5305\u542B id\u3001type\u3001by\u3001time\u3001title\u3001text\u3001url\u3001score\u3001kids\u3001parent\u3001deleted\u3001dead \u7B49\uFF0C\u6309\u6761\u76EE\u7C7B\u578B\u53EF\u7F3A\u5B57\u6BB5\uFF1Btitle/text \u53EF\u4E3A HTML\u3002",
"user \u53EF\u542B id\u3001created\u3001karma\u3001about\u3001submitted\uFF1Bupdates \u8FD4\u56DE items \u4E0E profiles \u7684 ID \u5217\u8868\u3002"
],
"pricing": {
"model": "unknown",
"notes": "README \u8BF4\u660E\u516C\u5F00\u6570\u636E\u4E0E\u5F53\u524D\u4E0D\u9650\u901F\uFF0C\u4F46\u6CA1\u6709\u660E\u786E API \u4EF7\u683C/\u514D\u8D39\u6761\u6B3E\uFF0C\u4E0D\u80FD\u5C06 rate limit \u58F0\u660E\u8F6C\u4E3A\u8D39\u7528\u7ED3\u8BBA\u3002",
"source_url": "https://github.com/HackerNews/API"
},
"provider_claimed": false,
"record_kind": "public_source",
"representative_queries": [],
"sources": [
{
"basis": "official_documentation",
"checked_at": "2026-10-25T01:53:59.2566954\u002B08:00",
"title": "GitHub - HackerNews/API: Documentation and Samples for the Official HN API \u00B7 GitHub",
"url": "https://github.com/HackerNews/API"
}
],
"summary": "Hacker News \u5B98\u65B9 README \u5B9A\u4E49 Firebase \u6258\u7BA1\u7684 v0 \u516C\u5171\u6570\u636E API\uFF0C\u53EF\u8BFB\u53D6\u6545\u4E8B\u3001\u8BC4\u8BBA\u3001\u7528\u6237\u516C\u5F00\u6D3B\u52A8\u53CA\u699C\u5355 ID\uFF0C\u6587\u6863\u79F0\u8FD1\u5B9E\u65F6\u4E14\u5F53\u524D\u4E0D\u9650\u901F\u3002\u8BA4\u8BC1\u3001\u8D39\u7528\u548C SLA \u672A\u5355\u72EC\u8BF4\u660E\uFF1B\u672C\u6B21\u4EC5\u6838\u5BF9\u6587\u6863\uFF0C\u6CA1\u6709\u8C03\u7528\u6216\u8BA2\u9605\u3002",
"tags": [
"http_api",
"documentation_only",
"public_news_data"
],
"terms_url": null,
"title": "Hacker News v0 \u516C\u5171\u6570\u636E API",
"unknowns": [
"\u8BA4\u8BC1\u4E0E\u8D39\u7528\u6761\u6B3E\u3001SLA\u3001\u8BF7\u6C42\u65E5\u5FD7\u4FDD\u7559\u672A\u77E5\u3002",
"\u5B9E\u9645\u8FD1\u5B9E\u65F6\u5EF6\u8FDF\u3001\u5F53\u524D\u6570\u636E\u3001\u670D\u52A1\u53EF\u7528\u6027\u548C\u672A\u6765\u9650\u6D41\u53D8\u5316\u672A\u9A8C\u8BC1\u3002"
],
"verification": {
"checked_at": "2026-10-24T17:53:59.2566954\u002B00:00",
"checks_performed": [
"\u6765\u6E90HTTPS\u54CD\u5E94\u53EF\u8BFB\u53D6"
],
"evidence_urls": [
"https://github.com/HackerNews/API"
],
"level": "documentation_only",
"not_verified": [
"\u529F\u80FD\u3001\u9274\u6743\u3001\u5B89\u88C5\u3001\u8F93\u51FA\u8D28\u91CF\u3001\u957F\u671F\u53EF\u7528\u6027\u5747\u672A\u7531\u672C\u7AD9\u6D4B\u8BD5\u3002"
],
"outcome": "not_tested",
"reported_by": "contributor",
"software_version": null,
"test_summary": "\u4EC5\u8BFB\u53D6\u516C\u5F00\u6765\u6E90\uFF1B\u672A\u8C03\u7528\u6240\u8FF0\u5DE5\u5177\u3002"
},
"schema_version": "navonavo.capability.v1",
"service_id": "cap-7b55ba1ce5d8ec85decd443e",
"version": 2,
"source_url": "https://github.com/HackerNews/API",
"ownership_state": "unclaimed",
"submitted_by": {
"kind": "importer",
"name": "NAVONAVO public material importer"
},
"submitter_identity_verified": false,
"source_check": {
"url": "https://github.com/HackerNews/API",
"final_url": "https://github.com/HackerNews/API",
"status_code": 200,
"title": "GitHub - HackerNews/API: Documentation and Samples for the Official HN API \u00B7 GitHub",
"description": "Documentation and Samples for the Official HN API. Contribute to HackerNews/API development by creating an account on GitHub.",
"checked_at": "2026-10-24T17:53:59.2566954\u002B00:00",
"warnings": [
"\u6765\u6E90\u53EF\u8BFB\u53D6\u53EA\u8BC1\u660E\u672C\u6B21\u8D44\u6599\u8BFB\u53D6\uFF0C\u4E0D\u662F\u529F\u80FD\u3001\u8EAB\u4EFD\u6216\u957F\u671F\u53EF\u7528\u6027\u8BA4\u8BC1\u3002"
]
},
"created_at": "2026-10-24T17:54:02.7780531\u002B00:00",
"updated_at": "2026-10-24T17:54:51.6387867\u002B00:00",
"read_url": "https://navonavo.com/api/v1/capabilities/cap-7b55ba1ce5d8ec85decd443e?version=2",
"page_url": "https://navonavo.com/capabilities/cap-7b55ba1ce5d8ec85decd443e?version=2",
"verification_scope": "verification\u4E3A\u6295\u7A3F\u8005\u4E0A\u62A5\uFF1Bsource_check\u4EC5\u4E3A\u672C\u7AD9\u6765\u6E90\u8BFB\u53D6\uFF0C\u4E0D\u5347\u7EA7\u4E3A\u529F\u80FD\u9A8C\u8BC1\u6216\u5B98\u65B9\u8BA4\u8BC1\u3002",
"library_material": {
"organization": "organized",
"semantic_state": "classified",
"semantic_category": "\u516C\u5171\u793E\u533A\u6570\u636E\uFF0FHacker News \u6545\u4E8B\u3001\u8BC4\u8BBA\u4E0E\u699C\u5355",
"evidence_grade": "documentation_only",
"attachments": [
{
"material_id": "material-b5766a5dfccdf42aef9a2fcd98cd5c02",
"source_url": "https://github.com/HackerNews/API",
"content_sha256": "366a28e1c6375403a3116173eebc261789e4a8f1fcc700869f77d1142c3d2818",
"decoded_bytes": 389822,
"content_type": "text/html",
"captured_at": "2026-10-24T17:53:59.2566954\u002B00:00",
"text_representation": "decoded_text_utf8",
"text_utf8_sha256": "366a28e1c6375403a3116173eebc261789e4a8f1fcc700869f77d1142c3d2818",
"text_utf8_bytes": 389822,
"capture_body_reconstructed": true,
"read_path": "/api/v1/capabilities/cap-7b55ba1ce5d8ec85decd443e/materials/material-b5766a5dfccdf42aef9a2fcd98cd5c02?version=1"
}
]
},
"last_correction": {
"contribution_id": "contribution-c8b897a33f7248e4bf3e4582749fef83",
"reason": "\u4F9D\u636E\u672C\u6279\u5B98\u65B9 HackerNews/API README \u7684\u660E\u786E v0 URL\u3001\u5B57\u6BB5\u3001\u699C\u5355\u89C4\u6A21\u548C\u5F53\u524D\u4E0D\u9650\u901F\u58F0\u660E\u6574\u7406\uFF0C\u79FB\u9664\u672A\u6574\u7406\u6807\u7B7E\u3002\u4FDD\u7559\u672A\u660E\u793A\u7684\u8BA4\u8BC1\u3001\u8D39\u7528\u4E0E SLA \u672A\u77E5\uFF1B\u4EC5 documentation_only\uFF0C\u672A\u8C03\u7528\u6216\u8BA2\u9605\u3002",
"source_urls": [
"https://github.com/HackerNews/API"
],
"reported_by": "contributor"
},
"version_read_basis": "archived_revision",
"deep_read": {
"schema_version": "navonavo.capability-read.v1",
"card_id": "cap-7b55ba1ce5d8ec85decd443e",
"card_version": 2,
"selected_profile_id": null,
"state": "not_checked",
"review_state": null,
"read_url": "https://navonavo.com/api/v1/capabilities/cap-7b55ba1ce5d8ec85decd443e?version=2",
"page_url": "https://navonavo.com/capabilities/cap-7b55ba1ce5d8ec85decd443e?version=2",
"profiles": [],
"warnings": [
"\u8D44\u6599\u4E0E\u6765\u6E90\u58F0\u660E\u4E0D\u7B49\u4E8E\u672C\u7AD9\u5B9E\u6D4B\uFF1B\u672A\u5217\u51FA\u7684\u6761\u4EF6\u4ECD\u672A\u77E5\u3002",
"\u7ED3\u6784\u5316\u914D\u65B9\u53EA\u6309\u516C\u5F00\u58F0\u660E\u68C0\u67E5\u7EA6\u675F\u4E0E\u63A5\u53E3\uFF0C\u4E0D\u6267\u884C\u4EFB\u52A1\u6216\u6388\u4E88\u6743\u9650\uFF1B\u7F3A\u5931\u8BB0\u5F55\u4FDD\u6301\u672A\u77E5\uFF0C\u63A5\u53E3\u517C\u5BB9\u4E0D\u8BC1\u660E\u5B9E\u9645\u6210\u529F\u3002"
]
}
}