Skip to main content
Every hackernews.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
New to Corsair? See API access, authentication, and error handling.

Items

get

items.get Get a HackerNews item by numeric ID Risk: read
await corsair.hackernews.api.items.get({});
Input
NameTypeRequiredDescription
idnumberYes
Output
NameTypeRequiredDescription
idnumberYes
typejob | story | comment | poll | polloptYes
bystringNo
titlestringNo
urlstringNo
textstringNo
scorenumberNo
timenumberNo
descendantsnumberNo
parentnumberNo
pollnumberNo
kidsnumber[]No
partsnumber[]No
deadbooleanNo
deletedbooleanNo

getMaxId

items.getMaxId Get the current maximum item ID Risk: read
await corsair.hackernews.api.items.getMaxId({});
Input
NameTypeRequiredDescription
printstringNo
Output
NameTypeRequiredDescription
max_item_idnumberYes

getWithId

items.getWithId Get a HackerNews item with nested comments Risk: read
await corsair.hackernews.api.items.getWithId({});
Input
NameTypeRequiredDescription
item_idstringYes
max_depthnumberNo
max_childrennumberNo
truncate_textbooleanNo
Output
NameTypeRequiredDescription
foundbooleanYes
itemobjectNo
error_messagestringNo
{
  id: number,
  type?: string,
  author?: string,
  title?: string | null,
  url?: string | null,
  text?: string | null,
  points?: number | null,
  parent_id?: number | null,
  story_id?: number | null,
  created_at?: string,
  created_at_i?: number,
  options?: number[],
  children?: {
  }[],
  children_shown?: number,
  max_depth_reached?: boolean,
  children_truncated?: boolean,
  total_children_count?: number
}

getFrontpage

search.getFrontpage Get current HackerNews frontpage posts Risk: read
await corsair.hackernews.api.search.getFrontpage({});
Input
NameTypeRequiredDescription
min_pointsnumberNo
Output
NameTypeRequiredDescription
postsobject[]Yes
total_hitsnumberYes
{
  objectID?: string,
  title?: string,
  url?: string | null,
  author?: string,
  points?: number | null,
  story_id?: number | null,
  created_at?: string,
  num_comments?: number | null,
  story_text?: string | null
}[]

getLatest

search.getLatest Get latest HackerNews posts Risk: read
await corsair.hackernews.api.search.getLatest({});
Input
NameTypeRequiredDescription
tagsstring[]No
pagenumberNo
sizenumberNo
Output
NameTypeRequiredDescription
hitsobject[]Yes
nbHitsnumberYes
pagenumberYes
nbPagesnumberYes
hitsPerPagenumberYes
{
  objectID?: string,
  title?: string,
  url?: string | null,
  author?: string,
  points?: number | null,
  story_id?: number | null,
  story_url?: string | null,
  story_title?: string | null,
  comment_text?: string | null,
  story_text?: string | null,
  created_at?: string,
  created_at_i?: number,
  num_comments?: number | null,
  _tags?: string[]
}[]

getTodays

search.getTodays Get today’s HackerNews posts Risk: read
await corsair.hackernews.api.search.getTodays({});
Input
NameTypeRequiredDescription
min_pointsnumberNo
pagenumberNo
sizenumberNo
Output
NameTypeRequiredDescription
hitsobject[]Yes
nbHitsnumberYes
pagenumberYes
nbPagesnumberYes
hitsPerPagenumberYes
{
  objectID?: string,
  title?: string,
  url?: string | null,
  author?: string,
  points?: number | null,
  story_id?: number | null,
  created_at?: string,
  num_comments?: number | null
}[]

posts

search.posts Full-text search HackerNews posts Risk: read
await corsair.hackernews.api.search.posts({});
Input
NameTypeRequiredDescription
querystringYes
tagsstring[]No
pagenumberNo
sizenumberNo
Output
NameTypeRequiredDescription
hitsobject[]Yes
nbHitsnumberYes
pagenumberYes
nbPagesnumberYes
hitsPerPagenumberYes
querystringYes
{
  objectID?: string,
  title?: string,
  url?: string | null,
  author?: string,
  points?: number | null,
  story_id?: number | null,
  story_url?: string | null,
  story_title?: string | null,
  comment_text?: string | null,
  story_text?: string | null,
  created_at?: string,
  created_at_i?: number,
  num_comments?: number | null,
  _tags?: string[]
}[]

Stories

getAsk

stories.getAsk Get Ask HN story IDs Risk: read
await corsair.hackernews.api.stories.getAsk({});
Input
NameTypeRequiredDescription
printprettyNo
Output
NameTypeRequiredDescription
story_idsnumber[]Yes

getBest

stories.getBest Get best HackerNews story IDs Risk: read
await corsair.hackernews.api.stories.getBest({});
Input
NameTypeRequiredDescription
printprettyNo
Output
NameTypeRequiredDescription
story_idsnumber[]Yes
countnumberYes

getJobs

stories.getJobs Get HackerNews job story IDs Risk: read
await corsair.hackernews.api.stories.getJobs({});
Input
NameTypeRequiredDescription
printprettyNo
Output
NameTypeRequiredDescription
job_story_idsnumber[]Yes

getNew

stories.getNew Get newest HackerNews story IDs Risk: read
await corsair.hackernews.api.stories.getNew({});
Input
NameTypeRequiredDescription
printprettyNo
Output
NameTypeRequiredDescription
story_idsnumber[]Yes

getShow

stories.getShow Get Show HN story IDs Risk: read
await corsair.hackernews.api.stories.getShow({});
Input
NameTypeRequiredDescription
printprettyNo
Output
NameTypeRequiredDescription
story_idsnumber[]Yes

getTop

stories.getTop Get top HackerNews story IDs Risk: read
await corsair.hackernews.api.stories.getTop({});
Input
NameTypeRequiredDescription
printprettyNo
Output
NameTypeRequiredDescription
story_idsnumber[]Yes
countnumberYes

Updates

get

updates.get Get recently changed HackerNews items and profiles Risk: read
await corsair.hackernews.api.updates.get({});
Input
NameTypeRequiredDescription
printstringNo
Output
NameTypeRequiredDescription
itemsnumber[]Yes
profilesstring[]Yes

Users

get

users.get Get a HackerNews user profile via Algolia Risk: read
await corsair.hackernews.api.users.get({});
Input
NameTypeRequiredDescription
usernamestringYes
Output
NameTypeRequiredDescription
usernamestringYes
karmanumberYes
aboutstringNo

getByUsername

users.getByUsername Get a HackerNews user profile via Firebase Risk: read
await corsair.hackernews.api.users.getByUsername({});
Input
NameTypeRequiredDescription
usernamestringYes
Output
NameTypeRequiredDescription
idstringYes
karmanumberYes
creatednumberYes
aboutstringNo
submittednumber[]No