---
title: "Posts by ID (bulk)"
method: GET
path: "/api/reddit/by_id/{fullnames}"
tags: ["Posts"]
---

# Posts by ID (bulk)

`GET /api/reddit/by_id/{fullnames}`

## Request

- Base URL: `https://api.redditapis.com`
- URL: `https://api.redditapis.com/api/reddit/by_id/{fullnames}`
- Auth: HTTP bearer

Bulk-fetch posts by comma-separated t3_ fullnames in one call (up to 100), instead of a request per post. Hydrate ids you already have from a search or listing. Returns the same post shape as the listing endpoints. An unknown id is simply absent from the result. Cost: $0.0015 per call.

## Path parameters

- `fullnames` string, required

## Response `200`

Successful response.

- object
  - `posts` object[]
  - `meta` object, nullable
  - `after` string, nullable: Opaque pagination cursor; null when no next page is offered.
  - `exhausted_reason` string, nullable: Present only when `after` is null: why the listing stopped.
  - `listing_status` string, nullable: complete | truncated | unknown. Only `complete` means you have every item.
  - `items_returned` integer, nullable: Running item count across the pages walked so far.
  - `final_page_items` integer, nullable: Items on the last page served.
  - `hint` string, nullable: Human-readable next step for this exhausted_reason.

## Other responses

- `400`: Bad request — missing or invalid parameters.
- `401`: Missing Bearer token.
- `402`: Your account balance does not cover this call, so nothing was charged and the request was not served. The response body is {"error":"Insufficient credits","top_up_url":"https://www.redditapis.com/dashboard/buy-credits","message":"..."}; error keeps that exact wording. This is a billing state, not a bad request: the same call succeeds once the balance is topped up, and retrying without topping up returns 402 again, which is why it carries Retry-After: 3600. Top up at the top_up_url, then call again at once; the header does not apply after a top-up. Read the remaining balance any time from GET /account/me, which is free and never returns this error. Distinct from the 402 on the monitoring endpoints, which is about plan entitlements rather than credits.
- `403`: Invalid Bearer token.
- `429`: Rate limit exceeded.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/redditapis/apis/redditapis-api.md) · [All operations](https://skmtc.dev/redditapis/apis/redditapis-api/llms.txt) · [OpenAPI document](https://skmtc.dev/redditapis/apis/redditapis-api/revisions/9696482dfe9b?raw)
