All public posts submitted by a user
Retrieve the public post history for a Reddit user. Supports pagination.
/user-posts User https://api.fetchlayer.dev/reddit/user-posts Headers
Authorization string required Bearer token — your FetchLayer API key.
Parameters
username string required Reddit username.
limit number optional Maximum number of posts to return. (default: 25)
pages number optional Maximum number of pages to scrape. (default: 1)
after string optional Pagination cursor (after).
Response Fields
user-posts
All public posts submitted by a user
blocked boolean Whether Reddit returned a block or verification page.
blockReason string | null Machine-readable block reason when blocked is true; otherwise omitted.
blockedBodyText string | null Diagnostic block-page text when blocked is true; otherwise omitted.
pageTitle string Title of the scraped Reddit page.
requestedUrl string Reddit URL requested by the scraper.
fetchUrl string Normalized Reddit URL fetched by the scraper.
finalUrl string Final URL after redirects.
responseStatus number | null HTTP status returned by Reddit, or null when unavailable.
listingType string Always user-posts for a successful response.
username string Requested Reddit username.
items[].id string | null Reddit post ID without the t3_ prefix.
items[].fullname string | null Reddit post fullname, including the t3_ prefix.
items[].subreddit string | null Subreddit name without the r/ prefix.
items[].subredditPrefixed string | null Subreddit name with the r/ prefix.
items[].author string | null Author username.
items[].title string | null Post title.
items[].permalink string | null Absolute URL of the Reddit comments page.
items[].shortlink string | null Short redd.it URL for the post.
items[].url string | null Absolute post content URL.
items[].domain string | null Hostname or Reddit domain associated with the post.
items[].createdAt string | null ISO 8601 creation timestamp.
items[].flair string | null Post flair text, or null when absent.
items[].score number | null Post score.
items[].scoreText string | null Score text as displayed by Reddit.
items[].commentCount number | null Comment count.
items[].commentCountText string | null Comment count text as displayed by Reddit.
items[].previewText string | null Text preview for self posts, or null when unavailable.
items[].thumbnailUrl string | null Post thumbnail URL, or null when unavailable.
items[].nsfw boolean Whether the post is marked NSFW.
items[].spoiler boolean Whether the post is marked as a spoiler.
items[].locked boolean Whether the post is locked.
items[].stickied boolean Whether the post is stickied.
listingTitle string | null Display title of the listing, or null when unavailable.
itemCount number Number of entries returned in items.
nextPageUrl string | null Next-page URL when available, otherwise null.
prevPageUrl string | null Previous-page URL when available, otherwise null.
pagesRequested number Number of pages requested.
pagesScraped number Number of pages successfully scraped.
scrapedAt string ISO 8601 timestamp for the scrape.
transport string Reddit page transport used for extraction.
Request
curl -X POST "https://api.fetchlayer.dev/reddit/user-posts" \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"username":"spez","limit":10}'Response
{
"blocked": false,
"listingType": "user-posts",
"username": "spez",
"items": [
{
"id": "abc",
"title": "Announcing new features",
"subreddit": "reddit",
"score": 5000,
"commentCount": 800,
"permalink": "https://www.reddit.com/r/reddit/comments/abc/",
"createdAt": "2026-08-13T03:00:00.000Z",
"nsfw": false,
"spoiler": false,
"locked": false,
"stickied": false
}
],
"itemCount": 1,
"nextPageUrl": "https://old.reddit.com/user/spez/submitted/?after=t3_abc",
"pagesRequested": 1,
"pagesScraped": 1,
"transport": "old-reddit-html"
}