Skip to content
scrapeatlas.Dashboard

Post comments with a POST body

Try in Playground

Read a Reddit post and nested comments using JSON input, with a continuation token for further comment pages.

POST/v1/reddit/post/commentsx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Content-Typestringrequiredheader

Must be application/json.

Request body
4
urlstringrequiredbody

Required.

max 2048 chars · absolute HTTPS URL

Examplehttps://www.reddit.com/r/Example/comments/abc123/example/
cursorstringbody

Optional.

min 1 chars · max 50000 chars

trimboolean | enumdefault: falsebody

Optional.

default: false

Examplefalse
include_postboolean | enumdefault: truebody

Defaults to true. With a cursor, false skips the post reload and returns post as null with the post_omitted coverage reason (status partial); without a cursor the first page keeps the post.

default: true

Exampletrue
Response fields
84
requestIdstring

Always included.

Inspect complete and reasons on every response. Source failures never masquerade as empty success.

coverage.completeboolean

Always included.

coverage.reasonsstring[]

Always included.

Always included.

accounting.httpRequestsinteger

Always included.

≥ 0

accounting.proxyBytesnumber

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

accounting.pageLoadsinteger

Always included.

≥ 0

accounting.challengeCountinteger

Always included.

≥ 0

accounting.rssRequestsinteger

Always included.

≥ 0

accounting.proxySessionIdstring

Always included.

successboolean

Always included.

statusenum

success, partial, challenged or failed. error contains a sanitized machine-readable reason on failure.

one of: success, partial

Always included.

post.idstring

Always included.

post.titlestring

Always included.

post.permalinkstring

Always included.

post.namestringoptional

Optional.

post.authorstringnullableoptional

Optional.

post.author_fullnamestringnullableoptional

Optional.

post.subredditstringnullableoptional

Optional.

post.subreddit_idstringnullableoptional

Optional.

post.selftextstringnullableoptional

Optional.

post.selftext_htmlstringnullableoptional

Optional.

post.scorenumbernullableoptional

Optional.

post.upsnumbernullableoptional

Optional.

post.downsnumbernullableoptional

Optional.

post.upvote_rationumbernullableoptional

Optional.

post.num_commentsnumbernullableoptional

Optional.

post.creatednumbernullableoptional

Optional.

post.created_utcnumbernullableoptional

Optional.

post.created_at_isostringnullable

Always included.

post.urlstringnullableoptional

Optional.

post.is_videobooleannullableoptional

Optional.

post.over_18booleannullableoptional

Optional.

post.archivedbooleannullableoptional

Optional.

post.lockedbooleannullableoptional

Optional.

post.spoilerbooleannullableoptional

Optional.

post.link_flair_textstringnullableoptional

Optional.

post.total_awards_receivednumbernullableoptional

Optional.

post.subreddit_subscribersnumbernullableoptional

Optional.

Always included.

up to 100 items

comments.idstring

Always included.

comments.bodystring

Always included.

comments.parent_idstringnullable

Always included.

comments.namestringoptional

Optional.

comments.link_idstringnullableoptional

Optional.

comments.authorstringnullableoptional

Optional.

comments.author_fullnamestringnullableoptional

Optional.

comments.body_htmlstringnullableoptional

Optional.

comments.scorenumbernullableoptional

Optional.

comments.upsnumbernullableoptional

Optional.

comments.downsnumbernullableoptional

Optional.

comments.created_utcnumbernullableoptional

Optional.

comments.created_at_isostringnullable

Always included.

comments.permalinkstringnullableoptional

Optional.

comments.urlstringnullableoptional

Optional.

Always included.

Always included.

up to 100 items

comments.replies.items.idstring

Always included.

comments.replies.items.bodystring

Always included.

comments.replies.items.parent_idstringnullable

Always included.

comments.replies.items.namestringoptional

Optional.

comments.replies.items.link_idstringnullableoptional

Optional.

comments.replies.items.authorstringnullableoptional

Optional.

comments.replies.items.author_fullnamestringnullableoptional

Optional.

comments.replies.items.body_htmlstringnullableoptional

Optional.

comments.replies.items.scorenumbernullableoptional

Optional.

comments.replies.items.upsnumbernullableoptional

Optional.

comments.replies.items.downsnumbernullableoptional

Optional.

comments.replies.items.created_utcnumbernullableoptional

Optional.

comments.replies.items.created_at_isostringnullable

Always included.

comments.replies.items.permalinkstringnullableoptional

Optional.

comments.replies.items.urlstringnullableoptional

Optional.

Always included.

comments.replies.items.replies.itemsobject[]

Always included.

up to 100 items

comments.replies.items.replies.moreobject

Always included.

Always included.

comments.replies.more.has_moreboolean

Always included.

comments.replies.more.cursorstringnullable

Always included.

Always included.

more.has_moreboolean

Always included.

more.cursorstringnullable

Always included.

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

Error codes
6
HTTPfailure.codeMeaning
400invalid_requestThe request failed validation.
401invalid_requestThe internal service secret is invalid.
503upstream_error breaker_openProxy unavailable or thread retrieval temporarily paused.
502upstream_errorRetrieval failed.
504timeoutThe deadline expired; available results are retained.
200partial challengedInspect status and failure even when HTTP succeeds.