Properties
| Name | Type | Description |
|---|---|---|
| entity | string | |
| platform | object | |
| canonical_url | object | |
| data_as_of | object | |
| schema_version | string | |
| common | object | |
| platform_fields | object | |
| freshness | object | |
| usage | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/veezee-io/json-schema/veezee-io-reddit-search-envelope-schema.json",
"title": "reddit_search_envelope",
"x-generated": "2026-10-29",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/veezee-io-openapi.json#/components/schemas/reddit_search_envelope",
"type": "object",
"properties": {
"entity": {
"type": "string",
"const": "reddit_search"
},
"platform": {
"anyOf": [
{
"type": "string",
"enum": [
"linkedin",
"reddit",
"x"
]
},
{
"type": "null"
}
]
},
"canonical_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"data_as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"schema_version": {
"type": "string",
"const": "2"
},
"common": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"posts",
"comments",
"subreddits",
"users"
],
"description": "Which result array is populated."
},
"posts": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Post id with the t3_ prefix. Pass to reddit_get_post."
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"author": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Username without the u/ prefix."
},
"subreddit": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Subreddit name without the r/ prefix, e.g. 'selfhosted'."
},
"subscribers": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"subscribers"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "ISO 8601."
},
"upvotes": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"upvote_ratio": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"comment_count": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"permalink": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Canonical reddit.com URL."
},
"external_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The linked page for link posts; null for self posts."
},
"preview_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Start of the post body; the full body comes from reddit_get_post."
},
"flair": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"media_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"is_promoted": {
"type": "boolean",
"description": "True for promoted ads, which subreddit feeds include only when include_promoted=true. Organic posts are false."
}
},
"required": [
"id",
"title",
"author",
"subreddit",
"created_at",
"upvotes",
"upvote_ratio",
"comment_count",
"permalink",
"external_url",
"preview_text",
"flair",
"media_type",
"is_promoted"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"comments": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Comment id with the t1_ prefix."
},
"author": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Comment text (markdown as written)."
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"upvotes": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"permalink": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"parent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "t1_ id of the parent comment, or t3_ id when top-level."
},
"depth": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "0 = top-level. Only set inside a discussion tree."
},
"post": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"subreddit": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Subreddit name without the r/ prefix, e.g. 'selfhosted'."
},
"subscribers": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"subscribers"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"title",
"subreddit"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The post this comment belongs to. Only set outside a discussion tree (search, user history)."
}
},
"required": [
"id",
"author",
"content",
"created_at",
"upvotes",
"permalink",
"parent_id",
"depth",
"post"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"subreddits": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"subscribers": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"description",
"subscribers"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"users": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"username": {
"type": "string"
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"karma": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"username",
"created_at",
"karma",
"profile_url"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Pass back to fetch the next page. Null when exhausted."
},
"next_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"returned_count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"truncation_hint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Present when results were cut off; says how to narrow or continue."
}
},
"required": [
"type",
"posts",
"comments",
"subreddits",
"users",
"cursor",
"next_url",
"returned_count",
"truncation_hint"
],
"additionalProperties": false
},
"platform_fields": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"freshness": {
"anyOf": [
{
"type": "object",
"properties": {
"source_retrieved_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "When the data was fetched from the source. ISO 8601."
},
"served_at": {
"type": "string"
},
"cache_age_seconds": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"served_from_cache": {
"type": "boolean",
"description": "True when these bytes were served from cache rather than fetched for this call. source_retrieved_at says how old they are."
},
"freshness_requested": {
"type": "string",
"enum": [
"recent",
"realtime"
]
},
"freshness_served": {
"type": "string",
"enum": [
"recent",
"realtime",
"stale"
]
}
},
"required": [
"source_retrieved_at",
"served_at",
"cache_age_seconds",
"served_from_cache",
"freshness_requested",
"freshness_served"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"usage": {
"type": "object",
"properties": {
"receipt_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"credits_quoted": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"credits_charged": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"balance_remaining": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"free_tier_hint": {
"description": "Present on free-tier trial-key calls: what budget the call drew from and that paying upgrades this same key. Near the daily cap on unclaimed keys it also carries a claim link to relay to your human (claiming adds one-time credits).",
"type": "string"
}
},
"required": [
"receipt_id",
"credits_quoted",
"credits_charged",
"balance_remaining"
],
"additionalProperties": false
}
},
"required": [
"entity",
"platform",
"canonical_url",
"data_as_of",
"schema_version",
"common",
"platform_fields",
"freshness",
"usage"
],
"additionalProperties": false
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/veezee-io-reddit-search-envelope"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
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.