Reddit API endpoint
Searches Arctic Shift's public historical comment archive. Supply at least one of query, author, subreddit, link_id, or parent_id; date bounds can further narrow that search. query searches comment body text and must be combined with author, subreddit, link_id, or parent_id; it maps to Arctic Shift's body parameter. Arctic Shift may time out or throttle broad searches, which return 503 with Retry-After. created_after/created_before are time boundaries, not Reddit listing cursors. Each comment includes created_utc and retrieved_on; archived scores can lag changes for roughly 36 hours. A valid query with no matches returns an empty comments array.
/reddit/archive/comments/searchSearches historical public Reddit comments in Arctic Shift. Use /api/v1/reddit/user/{username}/comments or /api/v1/reddit/subreddit/{subreddit}/comments for live Reddit comment feeds.
Query parameters: supply at least one of query, author, subreddit, link_id, or parent_id; date bounds alone are rejected to avoid an unbounded archive scan. author, subreddit, link_id, and parent_id restrict the archive search. query searches comment body text and maps to Arctic Shift's body parameter; it must be paired with at least one of author, subreddit, link_id, or parent_id because broad unscoped full-text queries can time out. An explicitly empty parent_id selects top-level comments; omitting it leaves parent unrestricted. created_after and created_before are creation-time boundaries, not live Reddit listing cursors. They accept epoch seconds or milliseconds, ISO 8601 dates/timestamps, or relative offsets such as 1year, 2d, and 5min. sort is optional and must be asc or desc; it defaults to desc. limit defaults to 25 and clamps to 100.
Credit weight: 3 per successful call.
Notable response behavior: a valid search with no matches returns 200 with an empty comments array. Each comment includes created_utc and, when available, retrieved_on, the archive capture time. Archived scores are snapshots and may be incomplete or change during the roughly 36-hour update window described by Arctic Shift. The current source rejects removed_by_category in its search field selector, so this route does not request or guarantee that property. Comments are returned as search rows with link_id and parent_id; use /api/v1/reddit/archive/comments/{id}/tree for nested thread structure. Slow or throttled queries return 503 with Retry-After.
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| author | string | No | Public Reddit username filter | ||
| subreddit | string | No | Subreddit name filter | ||
| query | string | No | Full-text search within comment bodies; requires author, subreddit, link_id, or parent_id | ||
| link_id | string | No | Reddit post id to scope comments | ||
| parent_id | string | No | Parent comment id; an explicitly empty value selects top-level comments | ||
| created_after | string | No | Creation-time lower bound; accepts epoch seconds or milliseconds, ISO 8601 dates, or relative offsets such as 1year, 2d, or 5min | ||
| created_before | string | No | Creation-time upper bound; accepts epoch seconds or milliseconds, ISO 8601 dates, or relative offsets such as 1year, 2d, or 5min | ||
| sort | string | No | Sort by creation time Allowed values: asc, desc. | ||
| limit | integer | No | 25 and clamps to 100 | Maximum comments, defaults to 25 and clamps to 100 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/reddit/archive/comments/search?query=coffee&sort=asc&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"author": "example_user",
"subreddit": "OpenAI",
"link_id": "t3_abc123",
"sort": "desc",
"limit": 25,
"comments": [
{
"id": "dppum98",
"author": "example_user",
"body": "Example archived comment",
"created_utc": 1700000000,
"retrieved_on": 1700000100,
"subreddit": "OpenAI",
"link_id": "t3_abc123",
"parent_id": "t3_abc123",
"score": 3
}
],
"source": {
"type": "arctic_shift",
"url": "https://arctic-shift.photon-reddit.com/api/comments/search?author=example_user&limit=25&sort=desc"
}
}
}Request schema
No body schema
Response schema
#/definitions/reddit.archiveCommentsSearchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | reddit.ArchiveCommentsSearchResponse | No | ||||
| data.author | string | No | ||||
| data.comments | array | No | ArchiveComment record, 17 fields: author, author_flair_text, author_fullname, body, created_utc, depth, distinguished, id, link_id, name, parent_id, permalink and 5 more. Described under Reddit Archive Comment IDs API. | |||
| data.created_after | string | No | ||||
| data.created_before | string | No | ||||
| data.limit | integer | No | 25 | |||
| data.link_id | string | No | ||||
| data.parent_id | string | No | ||||
| data.query | string | No | ||||
| data.sort | string | No | desc | |||
| data.source | reddit.SourceDetail | No | ||||
| data.source.type | string | No | feed | Kind of Reddit source the data was read from. | ||
| data.source.url | string | No | https://www.reddit.com/r/OpenAI/ | Reddit URL the data was read from. | ||
| data.subreddit | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/reddit/archive/comments/search?query=coffee&sort=asc&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"