search_posts
Search, filter, and sort saved Reddit posts. When a query is provided, uses the full semantic pipeline (AI query expansion + embedding similarity + keyword matching + precision relevance filter) for high-accuracy topical results. Filters are independent and stack. Use query ONLY for content/topic matching — never put sort/filter intent into query (use sort_by, time_filter, read_status, content_type instead). Omit query entirely for sort-only or filter-only requests.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | Filter to posts with this exact label applied | |
| limit | No | Max results (default: 20, max: 200). Use higher limits (100-200) for exhaustive queries. | |
| query | No | CONTENT/TOPIC search only — what the posts are about (e.g. "Python tutorials", "career advice"). Leave empty for sort/filter-only requests. | |
| author | No | Filter by Reddit username (without u/ prefix) | |
| date_to | No | End of custom date range in ISO format (e.g. "2025-06-30") | |
| sort_by | No | Sort order (default: newest, sorted by save date). Use "relevance" only with a query. | |
| date_from | No | Start of custom date range in ISO format (e.g. "2025-01-15") | |
| item_type | No | Filter by item type. Omit to return both. | |
| max_score | No | Maximum upvote score (for "hidden gems" / low-upvote posts) | |
| min_score | No | Minimum upvote score | |
| subreddit | No | Filter by subreddit name (without r/ prefix) | |
| unlabeled | No | If true, return only posts with no labels applied | |
| date_field | No | Which timestamp time_filter/date_from/date_to applies to. "saved" = when bookmarked (default). "posted" = when originally published on Reddit. | |
| read_status | No | Filter by read/unread state | |
| time_filter | No | Restrict to a time window. Pair with date_field. | |
| content_type | No | Filter by media type. "text" = self posts. "link" = external URLs. "image" = photos. "video" = videos. | |
| min_comments | No | Minimum comment count |