Sylvia API Subreddits API
The Subreddits API from Sylvia API — 2 operation(s) for subreddits.
The Subreddits API from Sylvia API — 2 operation(s) for subreddits.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/sylvia-api-subreddits-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Sylvia Subreddits API
contact:
name: Sylvia API
url: https://sylvia-api.com
email: support@sylvia-api.com
license:
name: Proprietary
url: https://sylvia-api.com/terms
x-refined-note:
- x-agentic-access differs across the merged source definitions and was not carried
version: '1.0'
description: 'Operations tagged Subreddits across 3 of this provider''s published API definitions: sylvia-api-openapi-2026-08-04.json, sylvia-api-openapi-2026-08-18.json, sylvia-api-openapi-2026-08-20.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.sylvia-api.com/v1
description: Production API server
security:
- ApiKeyAuth: []
tags:
- name: Subreddits
paths:
/subreddits/{name}:
get:
summary: Get subreddit info
description: 'Fetch subreddit metadata: subscribers, description, rules, icon, etc.'
operationId: getSubreddit
parameters:
- name: name
in: path
description: Subreddit name (without r/)
required: true
schema:
type: string
responses:
'200':
description: Subreddit object
content:
application/json:
schema:
$ref: '#/components/schemas/Subreddit'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
tags:
- Subreddits
servers:
- url: https://api.sylvia-api.com/v1
description: Production API server
/subreddits/{name}/posts:
get:
summary: Get posts from a subreddit
description: Fetch recent/hot/top/new posts from a specific subreddit with pagination.
operationId: getSubredditPosts
parameters:
- name: name
in: path
description: Subreddit name (without r/)
required: true
schema:
type: string
- name: sort
in: query
description: Sort order
schema:
type: string
enum:
- hot
- new
- top
- rising
default: hot
- name: time
in: query
description: Time filter for 'top' sort
schema:
type: string
enum:
- hour
- day
- week
- month
- year
- all
- name: limit
in: query
description: Results per page (max 100)
schema:
type: integer
minimum: 1
maximum: 100
default: 25
- name: cursor
in: query
description: Pagination cursor
schema:
type: string
responses:
'200':
description: Paginated posts
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
tags:
- Subreddits
servers:
- url: https://api.sylvia-api.com/v1
description: Production API server
/reddit/r/{subreddit}/about:
get:
summary: Subreddit metadata
description: 'Returns subreddit info: members, description, NSFW flag, icon, creation date.'
operationId: getSubredditAbout
parameters:
- name: subreddit
in: path
required: true
description: Subreddit name (without r/)
schema:
type: string
- name: format
in: query
description: Response format. 'reddit' (default) is raw JSON. 'markdown' is available on all tiers; 'minimal' and 'csv' require Strela; 'ndjson' requires Svetka; 'custom(name)' applies a saved template.
schema:
type: string
enum:
- reddit
- minimal
- ndjson
- csv
- markdown
default: reddit
responses:
'200':
description: Subreddit metadata
content:
application/json:
schema:
$ref: '#/components/schemas/SubredditResponse'
example:
success: true
data:
subreddit:
name: Python
subscribers: 1400000
request_id: 00000000-0000-0000-0000-000000000000
headers:
X-RateLimit-Tier:
$ref: '#/components/headers/X-RateLimit-Tier'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
$ref: '#/components/headers/X-RateLimit-Reset'
Retry-After:
$ref: '#/components/headers/Retry-After'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized_2'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
tags:
- Subreddits
servers:
- url: https://api.sylvia-api.com/v1
description: Production API server
/reddit/r/{subreddit}/about/rules:
get:
summary: Subreddit rules
description: Returns the list of rules for a subreddit.
operationId: getSubredditRules
parameters:
- name: subreddit
in: path
required: true
schema:
type: string
- name: format
in: query
description: Response format. 'reddit' (default) is raw JSON. 'markdown' is available on all tiers; 'minimal' and 'csv' require Strela; 'ndjson' requires Svetka; 'custom(name)' applies a saved template.
schema:
type: string
enum:
- reddit
- minimal
- ndjson
- csv
- markdown
default: reddit
responses:
'200':
description: Subreddit rules
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
example:
success: true
data:
subreddit:
name: Python
subscribers: 1400000
request_id: 00000000-0000-0000-0000-000000000000
headers:
X-RateLimit-Tier:
$ref: '#/components/headers/X-RateLimit-Tier'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
$ref: '#/components/headers/X-RateLimit-Reset'
Retry-After:
$ref: '#/components/headers/Retry-After'
'401':
$ref: '#/components/responses/Unauthorized_2'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
tags:
- Subreddits
servers:
- url: https://api.sylvia-api.com/v1
description: Production API server
/reddit/r/{subreddit}/{sort}:
get:
summary: Subreddit post listing
description: 'Returns posts from a subreddit by sort: hot, new, top, rising, or controversial.'
operationId: getSubredditPosts
parameters:
- name: subreddit
in: path
required: true
schema:
type: string
- name: sort
in: path
required: true
schema:
type: string
enum:
- hot
- new
- top
- rising
- controversial
- name: limit
in: query
description: Items per page (1-100, default 25)
schema:
type: integer
minimum: 1
maximum: 100
default: 25
example: 25
- name: after
in: query
description: Pagination token from previous response
schema:
type: string
- name: before
in: query
description: Pagination token for previous page
schema:
type: string
- name: t
in: query
description: Time filter for top sort
schema:
type: string
enum:
- hour
- day
- week
- month
- year
- all
- name: format
in: query
description: Response format. 'reddit' (default) is raw JSON. 'markdown' is available on all tiers; 'minimal' and 'csv' require Strela; 'ndjson' requires Svetka; 'custom(name)' applies a saved template.
schema:
type: string
enum:
- reddit
- minimal
- ndjson
- csv
- markdown
default: reddit
responses:
'200':
description: Paginated posts
content:
application/json:
schema:
$ref: '#/components/schemas/ListingResponse'
example:
success: true
data:
subreddit:
name: Python
subscribers: 1400000
request_id: 00000000-0000-0000-0000-000000000000
headers:
X-RateLimit-Tier:
$ref: '#/components/headers/X-RateLimit-Tier'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
$ref: '#/components/headers/X-RateLimit-Reset'
Retry-After:
$ref: '#/components/headers/Retry-After'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized_2'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
tags:
- Subreddits
servers:
- url: https://api.sylvia-api.com/v1
description: Production API server
/reddit/r/{subreddit}/sticky:
get:
summary: Subreddit sticky posts
description: Returns stickied/pinned posts from a subreddit.
operationId: getSubredditSticky
parameters:
- name: subreddit
in: path
required: true
schema:
type: string
- name: format
in: query
description: Response format. 'reddit' (default) is raw JSON. 'markdown' is available on all tiers; 'minimal' and 'csv' require Strela; 'ndjson' requires Svetka; 'custom(name)' applies a saved template.
schema:
type: string
enum:
- reddit
- minimal
- ndjson
- csv
- markdown
default: reddit
responses:
'200':
description: Sticky posts
content:
application/json:
schema:
$ref: '#/components/schemas/ListingResponse'
example:
success: true
data:
subreddit:
name: Python
subscribers: 1400000
request_id: 00000000-0000-0000-0000-000000000000
headers:
X-RateLimit-Tier:
$ref: '#/components/headers/X-RateLimit-Tier'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
$ref: '#/components/headers/X-RateLimit-Reset'
Retry-After:
$ref: '#/components/headers/Retry-After'
'401':
$ref: '#/components/responses/Unauthorized_2'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
tags:
- Subreddits
servers:
- url: https://api.sylvia-api.com/v1
description: Production API server
/reddit/r/{subreddit}/wiki/pages:
get:
summary: List subreddit wiki pages
description: Returns the list of wiki pages for a subreddit.
operationId: getSubredditWikiPages
parameters:
- name: subreddit
in: path
required: true
schema:
type: string
- name: format
in: query
description: Response format. 'reddit' (default) is raw JSON. 'markdown' is available on all tiers; 'minimal' and 'csv' require Strela; 'ndjson' requires Svetka; 'custom(name)' applies a saved template.
schema:
type: string
enum:
- reddit
- minimal
- ndjson
- csv
- markdown
default: reddit
responses:
'200':
description: Wiki page list
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
example:
success: true
data:
subreddit:
name: Python
subscribers: 1400000
request_id: 00000000-0000-0000-0000-000000000000
headers:
X-RateLimit-Tier:
$ref: '#/components/headers/X-RateLimit-Tier'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
$ref: '#/components/headers/X-RateLimit-Reset'
Retry-After:
$ref: '#/components/headers/Retry-After'
'401':
$ref: '#/components/responses/Unauthorized_2'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
tags:
- Subreddits
servers:
- url: https://api.sylvia-api.com/v1
description: Production API server
/reddit/r/{subreddit}/wiki/{page}:
get:
summary: Get subreddit wiki page
description: Returns the content of a specific wiki page.
operationId: getSubredditWikiPage
parameters:
- name: subreddit
in: path
required: true
schema:
type: string
- name: page
in: path
required: true
schema:
type: string
- name: format
in: query
description: Response format. 'reddit' (default) is raw JSON. 'markdown' is available on all tiers; 'minimal' and 'csv' require Strela; 'ndjson' requires Svetka; 'custom(name)' applies a saved template.
schema:
type: string
enum:
- reddit
- minimal
- ndjson
- csv
- markdown
default: reddit
responses:
'200':
description: Wiki page content
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
example:
success: true
data:
subreddit:
name: Python
subscribers: 1400000
request_id: 00000000-0000-0000-0000-000000000000
headers:
X-RateLimit-Tier:
$ref: '#/components/headers/X-RateLimit-Tier'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
$ref: '#/components/headers/X-RateLimit-Reset'
Retry-After:
$ref: '#/components/headers/Retry-After'
'401':
$ref: '#/components/responses/Unauthorized_2'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
tags:
- Subreddits
servers:
- url: https://api.sylvia-api.com/v1
description: Production API server
components:
schemas:
SearchResponse:
type: object
properties:
data:
type: array
items:
type: object
cursor:
type:
- string
- 'null'
has_more:
type: boolean
total:
type:
- integer
- 'null'
ErrorResponse:
type: object
properties:
error:
type: string
message:
type: string
code:
type: integer
Subreddit:
type: object
properties:
name:
type: string
display_name:
type: string
title:
type: string
description:
type: string
subscribers:
type: integer
created_utc:
type: integer
format: int64
over_18:
type: boolean
icon:
type:
- string
- 'null'
banner:
type:
- string
- 'null'
rules:
type: array
items:
type: object
properties:
short_name:
type: string
description:
type: string
ListingData:
type: object
properties:
posts:
type: array
items:
$ref: '#/components/schemas/Post'
after:
type:
- string
- 'null'
SubredditResponse:
allOf:
- $ref: '#/components/schemas/Envelope'
- type: object
properties:
data:
$ref: '#/components/schemas/Subreddit_2'
Post:
type: object
properties:
id:
type: string
title:
type: string
selftext:
type: string
author:
type: string
subreddit:
type: string
score:
type: integer
upvote_ratio:
type: number
num_comments:
type: integer
created_utc:
type: integer
format: int64
permalink:
type: string
url:
type: string
is_self:
type: boolean
over_18:
type: boolean
stickied:
type: boolean
ListingResponse:
allOf:
- $ref: '#/components/schemas/Envelope'
- type: object
properties:
data:
$ref: '#/components/schemas/ListingData'
ErrorResponse_2:
type: object
properties:
success:
type: boolean
error:
type: string
message:
type: string
status:
type: integer
code:
type: string
request_id:
type: string
Subreddit_2:
type: object
properties:
name:
type: string
members:
type: integer
description:
type: string
is_private:
type: boolean
over18:
type: boolean
icon_img:
type:
- string
- 'null'
created_utc:
type: integer
format: int64
Envelope:
type: object
properties:
success:
type: boolean
message:
type:
- string
- 'null'
error:
type:
- string
- 'null'
request_id:
type: string
GenericResponse:
allOf:
- $ref: '#/components/schemas/Envelope'
- type: object
properties:
data:
type: object
SubredditResponse_2:
allOf:
- $ref: '#/components/schemas/Envelope'
- type: object
properties:
data:
$ref: '#/components/schemas/Subreddit_3'
ErrorResponse_3:
type: object
properties:
success:
type: boolean
error:
type: string
message:
type: string
status:
type: integer
code:
type: string
enum:
- BAD_REQUEST
- UNAUTHORIZED
- FORBIDDEN
- NOT_FOUND
- LOW_BALANCE
- RATE_LIMITED
- FEATURE_LOCKED
- TIER_EXPIRED
- REQUEST_FAILED
request_id:
type: string
Subreddit_3:
type: object
properties:
name:
type: string
members:
type: integer
description:
type: string
is_private:
type: boolean
over18:
type: boolean
icon_img:
type:
- string
- 'null'
created_utc:
type: integer
format: int64
responses:
Unauthorized:
description: Invalid or missing API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
RateLimited:
description: Rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: Bad request — invalid parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse_2'
Unauthorized_2:
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse_2'
BadRequest_2:
description: Bad request — invalid parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse_3'
Unauthorized_3:
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse_3'
headers:
X-RateLimit-Tier:
description: 'Rate limit tier: free | strela | svetka | enterprise.'
schema:
type: string
Retry-After:
description: Seconds until retry is allowed, present on 429.
schema:
type: integer
X-RateLimit-Reset:
description: Epoch milliseconds when the window resets.
schema:
type: integer
X-RateLimit-Remaining:
description: Remaining requests in the current window.
schema:
type: integer
X-RateLimit-Limit:
description: Requests per second for the tier.
schema:
type: integer
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: API key for authentication. Get yours at https://sylvia-api.com
AccountTokenAuth:
type: apiKey
in: header
name: x-sylvia-auth
description: Account token (SV_...) for account management endpoints. Sign in at https://sylvia-api.com to get yours.
x-refined-from:
- sylvia-api-openapi-2026-08-04.json
- sylvia-api-openapi-2026-08-18.json
- sylvia-api-openapi-2026-08-20.json