---
title: "Fetch up to 100 posts and comments, and 100 communities, in one call"
method: POST
path: "/v1/reddit/lookup"
tags: ["Reddit"]
---

# Fetch up to 100 posts and comments, and 100 communities, in one call

`POST /v1/reddit/lookup`

## Request

- Base URL: `https://api.weirapp.io`
- URL: `https://api.weirapp.io/v1/reddit/lookup`
- Auth: HTTP bearer

Current state of items you already know about: fresh scores and comment counts, whether a
post was removed (`removedByCategory`) or a comment deleted (`[deleted]` body), and
community metadata — in one request instead of one per item. Accepts the links people
actually paste.

Items Reddit did not return (deleted, nonexistent, or not publicly readable) are listed in
`meta.missing` as `t3_<id>`, `t1_<id>`, or `r/<name>`. Results are not filtered for NSFW:
you named these items. Billed per item returned.

## Request body

- object
  - `posts` string[]: Posts, as ids (`1vdo8we`), `t3_` fullnames, post URLs, or `redd.it` links. Share links (`/s/...`) carry no id and are refused.
  - `comments` string[]: Comments, as ids, `t1_` fullnames, or comment permalinks.
  - `subreddits` string[]: Communities, by name, `r/name`, or community URL.

## Response `200`

The items that exist and are publicly readable, in Reddit's own field names.

- object
  - `data` object, required
    - `posts` object[], required
      - `id` string, required: Reddit's base-36 post id, without the `t3_` prefix.
      - `subreddit` string, required: Community name without the `r/` prefix.
      - `title` string, required
      - `selftext` string, required: Body text. Empty for a link post.
      - `author` string, required: Username without the `u/` prefix. `[deleted]` if removed.
      - `permalink` string, required: Path on reddit.com, beginning with a slash.
      - `url` string, required: Absolute URL to the post.
      - `score` integer, required: Upvotes minus downvotes. Can be negative, and is fuzzed by Reddit.
      - `upvoteRatio` number, required: Fraction of votes that were upvotes.
      - `numComments` integer, required
      - `over18` boolean, required: Marked NSFW by the author or a moderator.
      - `createdUtc` number, required: Creation time in epoch seconds, as Reddit reports it.
      - `createdAt` string, date-time, required: The same instant as `createdUtc`, in ISO 8601.
      - `domain` string, required: `self.<subreddit>` for a text post; otherwise the host the post links to.
      - `isSelf` boolean, required: A text post rather than a link.
      - `urlOverriddenByDest` string, nullable, required: Where a link post points. Null for a text post.
      - `linkFlairText` string, nullable, required: The post's flair, such as `Question` or `Hiring`. Null when it has none.
      - `authorFlairText` string, nullable, required: The author's flair in this community.
      - `distinguished` string, nullable, required: `moderator` or `admin` when posted in an official capacity; otherwise null.
      - `stickied` boolean, required: Pinned to the top of the community.
      - `locked` boolean, required: New comments are disabled.
      - `archived` boolean, required: Past Reddit's archive age: no new comments or votes.
      - `spoiler` boolean, required
      - `edited` number, nullable, required: When the post was last edited, in epoch seconds. Null if it never was.
      - `numCrossposts` integer, required
      - `crosspostParent` string, nullable, required: The original post's id, without `t3_`, when this post is a crosspost.
      - `removedByCategory` string, nullable, required: Why the post was removed: `moderator`, `deleted`, `author`, `automod_filtered`, `reddit`, and so on. Null while it is visible.
      - `subredditSubscribers` integer, required: Members of the community at the time the post was read.
      - `postHint` string, nullable, required: What the post holds when Reddit says: `image`, `link`, `hosted:video`, `self`.
      - `isVideo` boolean, required
    - `comments` object[], required
      - `id` string, required: Reddit's base-36 comment id, without the `t1_` prefix.
      - `postId` string, required: The post this comment belongs to, without `t3_`.
      - `parentId` string, required: The comment or post this replies to.
      - `author` string, required: Username without the `u/` prefix. `[deleted]` if removed.
      - `body` string, required: Markdown. `[removed]` or `[deleted]` once taken down.
      - `score` integer, required
      - `permalink` string, required: Absolute URL of the comment.
      - `createdUtc` number, required
      - `createdAt` string, date-time, required
      - `subreddit` string, required: Community name without the `r/` prefix.
      - `isSubmitter` boolean, required: The commenter is the post's author (OP).
      - `edited` number, nullable, required: When the comment was last edited, in epoch seconds. Null if it never was.
      - `distinguished` string, nullable, required: `moderator` or `admin` when posted in an official capacity; otherwise null.
      - `stickied` boolean, required: Pinned under the post by a moderator.
      - `scoreHidden` boolean, required: Reddit is hiding this comment's score for now; `score` means nothing while true.
      - `linkTitle` string, required: Title of the post the comment belongs to.
      - `linkAuthor` string, required: Author of that post.
      - `linkPermalink` string, required: Absolute URL of that post.
      - `numComments` integer, required: Comments on that post.
      - `over18` boolean, required: That post is marked NSFW.
    - `subreddits` object[], required
      - `id` string, required: Reddit's fullname for the community, `t5_` included.
      - `name` string, required: Community name without the `r/` prefix.
      - `title` string, required
      - `description` string, nullable, required: The short public description. Null if unset.
      - `url` string, required
      - `subscribers` integer, required
      - `over18` boolean, required: The whole community is marked NSFW.
      - `createdUtc` number, required
      - `createdAt` string, date-time, required
      - `subredditType` string, required: `public`, `restricted`, `private`, `archived`, `gold_restricted`, or `user`.
      - `submissionType` string, nullable, required: What may be posted: `any`, `link`, or `self`.
      - `lang` string, nullable, required: The community's declared language, such as `en`.
      - `quarantine` boolean, required: Quarantined by Reddit: hidden from search and listings.
      - `communityIcon` string, nullable, required: URL of the community icon. Null if unset.
      - `bannerImg` string, nullable, required: URL of the banner image. Null if unset.
  - `meta` object, required
    - `requestId` string, required
    - `missing` string[], required: What was asked for and not returned: `t3_<id>`, `t1_<id>`, `r/<name>`.

## Other responses

- `400`: The request failed validation.
- `401`: The API key is missing, malformed, expired, or revoked.
- `402`: The account is out of credit. Not retryable: this cannot clear until the billing period resets or the plan changes.
- `403`: The API key does not carry the scope this route requires.
- `404`: The requested resource does not exist.
- `429`: The per-minute rate limit is exhausted. Retryable: wait for Retry-After and try again.
- `500`: An unexpected error occurred.
- `503`: The source is temporarily unavailable. The request is safe to retry.

---

[API](https://skmtc.dev/weirapp/apis/weir-api.md) · [All operations](https://skmtc.dev/weirapp/apis/weir-api/llms.txt) · [OpenAPI document](https://skmtc.dev/weirapp/apis/weir-api/revisions/4c6a9ae0bfca?raw)
