# User posts



<MethodPage method="GET" path="/v1/reddit/user/posts" credits={1}>
  <MethodSignature name="listUserPosts" args={[{ name: "name" }, { name: "options", optional: true }]} returns="Listing<Post>" />

  Lists a user's submissions, newest first by default. Posts come back as in [Subreddit](/reddit/subreddit). 1 credit per page of up to 100 posts; see [Listings and pages](/listings).

  <Security permission="reddit:read" />

  <SchemaGroup title="Query parameters">
    <SchemaField name="name" type="string" location="query" required>
      Reddit username, with or without `u/`.
    </SchemaField>

    <SchemaField name="sort" type="string" optional location="query">
      `new` (default), `hot`, `top` or `controversial`.
    </SchemaField>

    <SchemaField name="t" type="string" optional location="query">
      Time window for `top` and `controversial`: `hour`, `day`, `week`, `month`, `year` or `all`.
    </SchemaField>

    <SchemaField name="limit" type="integer" optional location="query">
      Posts per page, 1 to 100. Default `25`.
    </SchemaField>

    <SchemaField name="after" type="string" optional location="query">
      The previous page's `after`, for the next page.
    </SchemaField>

    <SchemaField name="nsfw" type="boolean" optional location="query">
      Include NSFW posts. Default `false`.
    </SchemaField>
  </SchemaGroup>

  <div id="returns" className="mt-8">
    Response [#response]

    ```jsonc
    {
      "subreddit": null,
      "query": null,
      "sort": "new",
      "count": 3,
      "items": [
        {
          "id": "1vgbkge",
          "name": "t3_1vgbkge",
          "subreddit": "u_spez",
          "title": "Modernizing Reddit’s infrastructure with you",
          "author": "spez",
          "score": 354,
          "num_comments": 477,
          "domain": "self.spez",
          "created_at": "2026-08-05T16:03:56Z"
          // …the other post fields, as in Subreddit
        }
      ],
      "after": "t3_1tvsa59",
      "filtered_nsfw": 0
    }
    ```

    Posts to the user's own profile have `"subreddit": "u_<name>"`.
  </div>

  <MethodSamples>
    <LanguageSample language="cURL">
      ```bash
      curl "https://api.threadapi.dev/v1/reddit/user/posts?name=spez&limit=25" \
        -H "Authorization: Bearer $THREADAPI_API_KEY"
      ```
    </LanguageSample>
  </MethodSamples>
</MethodPage>
