Tools reference
Tools reference
Every tool the Linkeddit connector exposes, grouped by capability: Answer Radar, Search Console, Reddit market signal, competitor intelligence, leads, keyword research, content, and outreach. The connector is a superset of the legacy Reddit MCP. The Legacy column marks the tools the legacy server does not have.
The full toolset
The connector exposes all 98 tools in one keyless server: Answer Radar, Google Search Console, Reddit market signal, competitor intelligence, lead generation, keyword research, content, and outreach. 75 are connector-native and documented in the tables below; the remaining 23 business tools are listed further down, generated from the live tool definitions.
It is a superset of the legacy Reddit MCP (API-key). The business tools (leads, keywords, competitive intelligence, subreddits, content, outreach) exist on both surfaces under the same names; the Reddit tools exist on both but under different names; the Answer Radar and Search Console tools are connector-only.
None means the tool is connector-only: the legacy server does not have it. The business tool groups further down are identical on both surfaces (same names), so they omit the column.Output modes: where supported, a tool accepts an optional mode parameter controlling detail: summary (the default), evidence, raw, and reference. Most read tools support summary and raw; those backed by an evidence store add evidence, which resolves citation ids into the recorded sources; write tools return summary only. raw output is scrubbed of any credentials or infrastructure details. Because mode is near-universal it is documented here rather than repeated on every row.
Answer Radar: gaps & fixes
| Tool | Scope | What it does | Key parameters | Legacy |
|---|---|---|---|---|
| answer_projects_list | answer:read | List your Answer Radar projects (tracked domains) and their configuration state. | limit, offset | None |
| answer_gaps_list | answer:read | List a project's recommendation gaps ranked by intent, evidence, and confidence. | project_id (required), status, limit, offset | None |
| answer_gap_get | answer:read | Get one gap: observations, citations, hypotheses, and recommended actions, kept strictly separate. | gap_id (required) | None |
| answer_fix_draft | answer:write | Draft a fix (brief, article, or response) for a gap from the run's recorded evidence. | gap_id (required), type (brief/article/response), idempotency_key (required) | None |
| answer_fix_save | answer:write | Save a drafted fix to your Linkeddit review workspace and return the deep link. | fix_id (required), idempotency_key (required) | None |
| answer_fixes_list | answer:read | List the fix artifacts on this account, newest first. Summary reports each fix's size rather than its text; use mode=evidence for the bodies. | project_id, gap_id, status, type, limit (default 50), offset (default 0) | None |
| answer_fix_get | answer:read | Get one fix artifact: type, title, status, body, and the citation ids it was built from. mode=evidence resolves those ids to recorded sources. | fix_id (required) | None |
| answer_fix_update | answer:write | Edit a fix's title, body, cited sources, or status. Any body or citation change is re-checked against measured evidence; an unsupported citation is rejected and nothing is written. 'approved' and 'published' cannot be set here: approval is a human action. | fix_id (required), title, content, status, source_citation_ids, idempotency_key (required) | None |
| answer_fix_check | answer:read | Check a fix you wrote yourself against the evidence recorded for a gap, before saving it. Writes nothing and rejects nothing. Checks sourcing, not accuracy. | gap_id (required), content (required), source_citation_ids | None |
Answer Radar: projects & prompts
| Tool | Scope | What it does | Key parameters | Legacy |
|---|---|---|---|---|
| answer_project_create | answer:write | Create a project from a domain and commercial context (brand, competitors, buyer segment, category, geography, language). | domain (required), brand_name, competitors[], buyer_segment, category, geography, language, idempotency_key (required) | None |
| answer_project_get | answer:read | Get a project's configuration: brand, competitors, commercial context, and prompt counts by status. | project_id (required) | None |
| answer_project_update | answer:write | Archive a project, or restore an archived one. Archiving is the reversible delete: recurring audits stop spending, but every run, sample, and citation is kept. | project_id (required), status (required) | None |
| answer_prompts_propose | answer:run | Generate commercial-intent buying questions for a project (a draft set for you to approve). | project_id (required), count (default 8), idempotency_key (required) | None |
| answer_prompts_update | answer:write | Approve, remove, add, and reprioritize a project's buying questions. Only approved prompts are audited. | approve[], remove[], add[], prompt_set_id (required with add), reprioritize[], idempotency_key (required) | None |
| answer_prompts_list | answer:read | List a project's buying questions and their approval status. | project_id (required), status | None |
| answer_schedule_set | answer:write | Set or pause a project's recurring audit (daily, weekly, monthly) in a named timezone. Omitted fields are left alone, so pausing is enabled=false on its own. Enabling does not start a run now; the first fires one cadence from now. | project_id (required), cadence, enabled, timezone, idempotency_key (required) | None |
Answer Radar: managed audits
| Tool | Scope | What it does | Key parameters | Legacy |
|---|---|---|---|---|
| answer_audit_estimate | answer:read | Estimate the cost of an audit before starting it (no spend). | project_id (required), prompts[], samples_per_prompt (default 1) | None |
| answer_audit_start | answer:run | Start a managed audit: reserve budget, fan out provider measurements, aggregate into gaps. | project_id (required), prompts[], samples_per_prompt (default 1), geography, language, idempotency_key (required) | None |
| answer_audit_launch | answer:run | Launch a pre-created (pending) run asynchronously and return immediately; poll answer_run_get. | run_id (required), idempotency_key (required) | None |
| answer_run_get | answer:read | Poll an audit run: status, sample outcomes, costs, and (raw mode) normalized samples with citations. | run_id (required) | None |
| answer_runs_list | answer:read | List a project's audit runs, most recent first. | project_id (required), limit, offset | None |
Answer Radar: metrics, trends & coverage
Every metric is reported per measured segment (provider, model, tool version, locale) and never averaged across them, because two providers are two different measuring instruments. A segment with no admissible samples reports usable=false and no metrics at all: that means the measurement failed, not that visibility is zero.
| Tool | Scope | What it does | Key parameters | Legacy |
|---|---|---|---|---|
| answer_metrics_get | answer:read | Visibility metrics for a project: presence rate, recommendation rate, share of voice, mean ordinal position, sentiment mix, and citation share. Every metric carries its definition and a disclosure block naming the sample counts and versions behind it, plus an appearance block: how often the engine showed an answer at all, which for Google AI Overviews is how often an Overview appeared. | project_id (required), run_id, start, end, topic | None |
| answer_trends_get | answer:read | The same six metrics computed per day, week, or month, grouped by segment so each provider and model is its own line. A bucket with nothing to measure reports usable=false with a reason, never zero. | project_id (required), interval (default week), start, end, topic | None |
| answer_content_gaps_get | answer:read | Score each tracked page against each measured question: does the page contain what the engines' answers contained. Returns the requirements the engines agreed on, which each page covers, and which it misses by name. | project_id (required), run_id, start, end, url, prompt_id, prompt_text, only_gaps (default false), min_coverage, max_coverage, limit (default 50), offset (default 0) | None |
| answer_fanout_get | answer:read | The query fan-out for a project: the web searches each engine actually issued while answering your tracked prompts, grouped by prompt then segment. The closest thing to a keyword list an answer engine will give you. | project_id (required), run_id, start, end | None |
Answer Radar: action queue & verification
Action cards carry the observed facts, the citation ids behind them, impact counts, and a confidence value, but no written brief, because the client writes that.
| Tool | Scope | What it does | Key parameters | Legacy |
|---|---|---|---|---|
| answer_actions_list | answer:read | List the action queue, newest first. Filter by project, gap, type, a single status, or state=open (suggested/todo/in_progress) or state=closed (done/dismissed). | project_id, gap_id, type, status, state, limit (default 50), offset (default 0) | None |
| answer_action_get | answer:read | Get one action card with the gap, run, prompt, and competitor it links to. mode=evidence resolves citation ids into recorded sources; ids that no longer resolve are reported, not dropped. | action_id (required) | None |
| answer_action_update | answer:write | Move a card: todo, in_progress, done, or dismissed. done and dismissed are final. Done releases the finding so a regression returns as a NEW card; dismissed suppresses it permanently. Illegal moves return a conflict naming the legal ones. | action_id (required), status (required), idempotency_key (required) | None |
| answer_verify_start | answer:run | Register a re-verification of a gap: re-measure the same prompts with the same configuration after an indexing delay. Starts no run now: the delay is the point. Poll answer_verify_get after followup_due_at. | gap_id (required), fix_id, idempotency_key (required) | None |
| answer_verify_get | answer:read | Get a re-verification: status, when the follow-up is due, and once settled the observed delta per segment. report is null until the follow-up finishes. That means not measured yet, not no change. | verification_id (required) | None |
Answer Radar: sharing, evidence & account
| Tool | Scope | What it does | Key parameters | Legacy |
|---|---|---|---|---|
| answer_share_create | answer:write | Create a link that shows one gap, run, fix, or a project's metrics to someone without a Linkeddit account. | resource_type (required), resource_id (required), label, idempotency_key | None |
| answer_shares_list | answer:read | List share links, newest first: what each points at, whether it is active, expired, or revoked, how many times it was opened, and when it stops working. URLs are not recoverable and are not returned. | resource_type, limit (default 50), offset (default 0) | None |
| answer_share_revoke | answer:write | Switch off a share link immediately. Anyone who opens it afterwards is told it was revoked rather than that it does not exist. Cannot be undone. | share_id (required) | None |
| answer_sources_fetch | answer:write | Fetch a cited web page into your evidence store so a fix can cite it. A URL resolving to a private address, redirecting into one, returning a non-text type, or over the size cap returns status 'blocked' or 'too_large' with a reason. That means we refused to fetch it, not that the page is empty. | url (required), project_id, force (default false), idempotency_key (required) | None |
| answer_digest_get | answer:read | The recurring decision for one account: what moved across every active project in the last N days versus the equal window before it, which queued actions are outstanding, and what was completed or dismissed. Returns nothing_meaningful_changed when all three are quiet. | days (default 7), cadence, timezone, current_slot | None |
| answer_activity_list | answer:read | What Answer Radar did on this account and what it refused: skipped scheduled audits and why, denied budget reservations, runs created and charged. Answers "why did my scheduled audit not run?" | action, outcome, resource_type, resource_id, limit (default 50), offset (default 0) | None |
| answer_usage_get | answer:read | This account's spend position before starting work: reserved and consumed today, remaining daily allowance, per-run cost cap, kill-switch state, and per-run size limits. One credit is one measured sample, one question asked of one engine. | project_id | None |
answer_share_create and cannot be recovered afterwards, so save it when you create it.Google Search Console
First-party demand data rather than a guess. Use it to decide which buying questions are worth measuring, to sanity-check a proposed prompt set against what people actually type, or to find high-impression questions where the site ranks poorly. Requires the customer to have connected Search Console; the response says plainly when they have not.
| Tool | Scope | What it does | Key parameters | Legacy |
|---|---|---|---|---|
| gsc_queries_get | answer:read | The search queries real buyers used to reach this project's site, ranked by impressions. Returns the query, its impressions and clicks, and its average position. | project_id (required), days (default 28), limit (default 50), offset (default 0) | None |
Reddit: market signal
The connector's Reddit tools mirror the legacy Reddit MCP's, under connector-native names (the legacy name is shown in the Legacy column).
| Tool | Scope | What it does | Key parameters | Legacy |
|---|---|---|---|---|
| reddit_search | reddit:read | Search Reddit posts across all subreddits. Returns titles, scores, comment counts, and content. | query (required), sort, time_filter, limit (default 25) | search_reddit |
| reddit_fetch_subreddit | reddit:read | Fetch posts from a specific subreddit sorted by hot, new, top, or rising. | subreddit (required), sort, time_filter, limit (default 25) | fetch_subreddit |
| reddit_fetch_post_comments | reddit:read | Fetch a Reddit post and its top-level comments given a post URL. | post_url (required), comment_limit (default 10) | fetch_post_comments |
| reddit_fetch_json | reddit:read | Fetch any Reddit JSON endpoint, e.g. /r/SaaS/top.json?t=week. | reddit_path (required) | fetch_reddit_json |
Presell: brands & evidence
Presell turns a product URL into a conversion page built from evidence: what buyers say about the competitor they are leaving, what that competitor has been doing, and what the answer engines say about the category. These four tools are the front door. Requires the Compete plan.
| Tool | Scope | What it does | Key parameters | Legacy |
|---|---|---|---|---|
| presell_brand_analyze | presell:run | Analyse one URL into a brand: its own claims, its reviews, the competitors buyers compare it against, and what they complain about. Returns as soon as the work is queued. Costs credits. | url (required), discovery (default true), idempotency_key | None |
| presell_brand_get | presell:read | One brand with its facts, evidence counts and analysis stage, or every brand on the account when no id is given. | brand_id | None |
| presell_brand_fact_update | presell:write | Edit, lock or prohibit one brand fact. A locked fact survives re-analysis; a prohibited one is never used in generation again. | fact_id (required), text, status, locked | None |
| presell_evidence_list | presell:read | The evidence set behind a brand: complaints, competitor moves, buyer voice and engine answers, each with the source and date it came from. Only citable rows may back a claim on a page. | brand_id (required), kind, competitor, citable_only, limit, offset | None |
Presell: writing and editing a page
Generate a page from the evidence set, or write the document yourself and hand it over. Every structural edit is free; only generation, rewriting and images cost credits.
| Tool | Scope | What it does | Key parameters | Legacy |
|---|---|---|---|---|
| presell_page_generate | presell:run | Generate a page in one of five formats: advertorial, listicle, presell, paid_social, or switcher, which is built from the incumbent's complaints and has no equivalent anywhere else. Costs credits. | brand_id (required), format, audience, awareness_stage, ad_angle, offer, idempotency_key | None |
| presell_page_get | presell:read | The page document as far as it has been written, section by section, with the evidence each factual block rests on. | page_id (required) | None |
| presell_pages_list | presell:read | Every page on the account, newest first, optionally filtered to one brand. | brand_id, include_archived, limit, offset | None |
| presell_page_put | presell:write | Replace the whole page document with one you wrote. This is the cheap path: your model does the writing, we validate the claims and keep the version history. | page_id (required), document (required), version | None |
| presell_section_rewrite | presell:run | Rewrite one section against an instruction, constrained to the same evidence set. Costs credits. | page_id (required), section_id (required), instruction, version | None |
| presell_image_generate | presell:run | Generate one image for a page. Costs credits. | prompt (required), aspect_ratio, page_id | None |
| presell_claims_check | presell:read | Grade every factual claim on a page green, yellow, orange or red against the evidence behind it, with the reason. Red blocks an export. Checks sourcing, not truth. | page_id, or brand_id plus document for a draft | None |
| presell_section_add | presell:write | Add a section of a given type at a position. Free. | page_id (required), section_type (required), position, version | None |
| presell_section_remove | presell:write | Remove one section. Free, and recoverable from version history. | page_id (required), section_id (required), version | None |
| presell_section_reorder | presell:write | Reorder the sections. Free. | page_id (required), order (required), version | None |
| presell_block_update | presell:write | Edit one block's text or list items, or detach the evidence it cites. Free. | page_id (required), block_id (required), content, items, detach_evidence, version | None |
| presell_section_blocks_set | presell:write | Replace every block in one section at once. Free. | page_id (required), section_id (required), blocks (required), version | None |
| presell_page_rename | presell:write | Rename a page. Free. | page_id (required), name (required) | None |
| presell_page_archive | presell:write | Archive a page, or bring it back. Nothing is deleted. Free. | page_id (required), archived | None |
| presell_theme_update | presell:write | Change the page's header variant, width, corner radius or palette. Free. | page_id (required), header_variant, max_width, radius, palette, version | None |
| presell_versions_list | presell:read | Every saved version of a page, newest first. Free and unlimited. | page_id (required), limit, offset | None |
| presell_version_restore | presell:write | Restore an earlier version as a new version, so the history keeps going forwards. Free. | page_id (required), target_version (required), version | None |
Presell: export, publishing and measurement
We never host the page. Export a self-contained file, or publish straight to the customer's own WordPress site or Shopify store. The measurement tag goes on both the new page and the one it is replacing, which is what makes the comparison mean anything.
| Tool | Scope | What it does | Key parameters | Legacy |
|---|---|---|---|---|
| presell_page_export | presell:read | The page as one self-contained HTML file, images inlined, ready to serve anywhere. A pure render, so it is free and unlimited. | page_id (required) | None |
| presell_tag_get | presell:read | Both measurement snippets: one for the page we built and one for the page it is being compared against. No third-party cookie, and Do Not Track is honoured. Free. | page_id (required) | None |
| presell_metrics_get | presell:read | What a page did: views, scroll depth, clicks and conversions, per variant, per day, with a confidence interval on every rate and no winner declared. Free. | page_id (required), since, limit, offset | None |
| presell_publish_targets_list | presell:read | The sites and stores this account can publish to, and what each one cannot do before you rely on it. | limit, offset | None |
| presell_publish_target_connect | presell:write | Connect a WordPress site or a Shopify store. Two steps: the first call returns what is about to happen, and nothing is written until you confirm. | platform (required), domain (required), confirm | None |
| presell_publish_target_disconnect | presell:write | Disconnect a site. The credential is deleted; the row and its history stay. | target_id (required) | None |
| presell_publish | presell:write | Publish a page to a connected site. Publishing the same page twice updates it rather than creating a second one. | page_id (required), target_id (required), slug | None |
| presell_unpublish | presell:write | Take a published page back to a draft on the customer's own site. Nothing is destroyed. | page_id (required), target_id (required) | None |
Presell: experiments and credits
Run an A/B test inside the page itself, with both arms carrying the same instrument, and promote the winner into the document rather than filtering it at render time.
| Tool | Scope | What it does | Key parameters | Legacy |
|---|---|---|---|---|
| presell_experiment_create | presell:write | Start a test on one page: which sections vary, what counts as a conversion, and how large a sample is needed before anyone looks. Both arms are identical until you edit variant B. | page_id (required), name, section_ids, primary_event, min_sample, split_basis_points, expected_version | None |
| presell_experiment_get | presell:read | The running test with its sample, its duration and its interval. A rate is reported as not enough data yet rather than as a number, and a skewed split is reported as broken rather than as a win. | experiment_id, or page_id | None |
| presell_experiment_decide | presell:write | Promote an arm, which rewrites the document and removes the loser, or stop the test. Promoting an arm the numbers do not favour is allowed and needs an explicit confirmation naming the verdict. | experiment_id (required), winner, stop, confirm, expected_version | None |
| presell_credits_get | presell:read | Presell credits on this account: what is left, granted, spent, and held by work in progress. One Presell credit is one page generation, which is not the same unit as an Answer Radar credit. Free. | none | None |
Leads, keywords, competitor intelligence, content & outreach
These 23 tools are the same on the connector and the legacy Reddit MCP, identical names and behavior. Each is listed below with its full parameter set, generated from the live tool definitions so it never drifts. On the connector they are reached over OAuth; like every connector tool they require the Compete plan, and the scope shown for each is granted automatically when you authorize.
Scope note: on the connector get_content_topics uses the content:read scope (the legacy server uses content:write for it). Every other scope matches across both surfaces.
Competitive intelligence
Competitive-intelligence briefs, switching signals, and page-change detection (Compete plan).
list_competitor_monitors
compete:readList your competitor monitors (Compete tier) and their configuration.
get_competitor_brief
compete:readGet the latest deep competitor brief: complaint themes, feature gaps, pricing signals, churn drivers, switch triggers, recommended actions, and a battlecard.
| Parameter | Type | Required | Description |
|---|---|---|---|
| competitor | yes | Competitor name to filter by | |
| monitor_id | yes | Specific competitor monitor id |
get_weekly_brief
compete:readGet your latest weekly competitive-intelligence brief, including the switching/market signals that fed it.
| Parameter | Type | Required | Description |
|---|---|---|---|
| week_of | yes | Filter to a specific week start date (YYYY-MM-DD) |
get_switching_signals
compete:readList individual switching / buying-intent / market signals detected for your competitors, with why-it-matters and sources.
| Parameter | Type | Required | Description |
|---|---|---|---|
| competitor | yes | Competitor name to filter by | |
| priority | yes | Filter by priority (e.g. high, medium, low) | |
| week_of | yes | Filter to a specific week (YYYY-MM-DD) | |
| limit | yes | Max results |
get_competitor_changes
compete:readGet recent competitor page snapshots (pricing / landing pages) for change detection. Compare content_hash and scraped_at across snapshots of the same URL.
| Parameter | Type | Required | Description |
|---|---|---|---|
| competitor | yes | Competitor name to filter by | |
| monitor_id | yes | Specific competitor monitor id | |
| limit | yes | Max snapshots |
Leads & pipelines
Query your leads database, pipelines, projects, and stats, and queue new lead-gen pipelines.
search_leads
leads:readSearch your Linkeddit leads database for Reddit users identified as potential leads based on buying intent, niche, and engagement scores.
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | yes | Search query to match against username, bio, niches, tags, or industry | |
| subreddit | yes | Filter by target subreddit | |
| status | yes | Filter by lead status | |
| min_score | yes | Minimum contactability score (0-100) | |
| limit | yes | Max results |
get_user_profile
leads:readGet a detailed Reddit user profile from the Linkeddit database including karma, post/comment counts, niches, tags, and contactability score.
| Parameter | Type | Required | Description |
|---|---|---|---|
| username | yes | Reddit username to look up |
get_user_posts
leads:readGet Reddit posts by a specific user from the Linkeddit database.
| Parameter | Type | Required | Description |
|---|---|---|---|
| username | yes | Reddit username | |
| subreddit | yes | Filter posts by subreddit | |
| limit | yes | Max results |
get_user_comments
leads:readGet Reddit comments by a specific user from the Linkeddit database.
| Parameter | Type | Required | Description |
|---|---|---|---|
| username | yes | Reddit username | |
| subreddit | yes | Filter comments by subreddit | |
| limit | yes | Max results |
get_lead_insights
leads:readGet AI-generated insights about a Reddit user including their expertise level, niches, tags, and a description derived from their Reddit activity.
| Parameter | Type | Required | Description |
|---|---|---|---|
| username | yes | Reddit username to get insights for |
list_pipelines
leads:readList your Linkeddit lead-gen pipelines (search requests) with their current processing status.
| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | yes | Max results |
get_pipeline_results
leads:readGet a specific lead-gen pipeline's request details and result records (status + result file).
| Parameter | Type | Required | Description |
|---|---|---|---|
| request_id | yes | The pipeline (user_request) id |
get_lead_stats
leads:readAggregate stats across your leads: counts by status and reach-out status, and average contactability score.
list_projects
leads:readList your Linkeddit lead projects (product overview, goals, audience, brand voice) used to personalize outreach.
create_lead_pipeline
leads:writeuses quotaCreate and queue a new lead-generation pipeline. Linkeddit scrapes and scores Reddit users (or review-site reviewers) matching your keywords, then writes them to your leads database. Consumes your execution quota; runs asynchronously (poll with get_pipeline_results).
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | yes | A name for this pipeline | |
| purpose | yes | What you are looking for / the product context | |
| keywords | yes | Search keywords (1-50) | |
| source | yes | Lead source: reddit (needs exactly 1 subreddit) or review_sites | |
| subreddit | yes | Target subreddit (required for reddit source) | |
| competitors | yes | Competitor names (review_sites source) | |
| target_urls | yes | Review URLs (review_sites source) | |
| category | yes | Optional category | |
| duration | yes | Look-back window for posts/reviews |
Keyword research
Discover and score keywords with Google autocomplete and SERP research.
keyword_autocomplete
keywords:readGet Google autocomplete suggestions for a seed query. Useful for discovering long-tail keyword variations people actually search.
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | yes | Seed keyword or phrase |
keyword_serp
keywords:readFetch Google SERP research for a query: People Also Ask questions, related searches, and top organic result titles.
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | yes | Keyword or phrase to research |
list_keyword_jobs
keywords:readList your Linkeddit keyword-research jobs and their status.
| Parameter | Type | Required | Description |
|---|---|---|---|
| status | yes | Filter by job status (e.g. completed, processing, failed) | |
| limit | yes | Max results |
get_keyword_results
keywords:readGet scored keyword results for one of your keyword-research jobs, ranked by priority score (specificity, relevance, conversion potential).
| Parameter | Type | Required | Description |
|---|---|---|---|
| job_id | yes | Keyword research job id | |
| min_score | yes | Minimum priority score | |
| include_filtered | yes | Include keywords that were filtered out | |
| limit | yes | Max results |
Subreddit discovery
Find and compare subreddits from the Linkeddit directory.
suggest_subreddits
reddit:readLook up a subreddit in the Linkeddit directory and suggest similar communities (by size) to target. Pass a subreddit name; returns the community plus neighbors.
| Parameter | Type | Required | Description |
|---|---|---|---|
| subreddit | yes | Subreddit name (with or without r/) | |
| limit | yes | Max similar communities |
Content writer
Generate contextual content ideas grounded in real discussions, and read the results.
generate_content_topics
content:writeuses quotaQueue the AI content writer to generate contextual Reddit content ideas for a subreddit and intent, grounded in real recent discussions. Consumes your content-writer quota; runs asynchronously (poll with get_content_topics).
| Parameter | Type | Required | Description |
|---|---|---|---|
| subreddit | yes | Subreddit to mine (with or without r/) | |
| intent | yes | What you want to write about / your goal (min 10 chars) | |
| time_window_input | yes | How far back to look (e.g. 'past week', 'past month') | |
| name | yes | Optional name for this request | |
| ignore_keywords | yes | Keywords to exclude (max 50) |
get_content_topics
content:readGet generated topic suggestions for one of your content-writer requests (poll after generate_content_topics).
| Parameter | Type | Required | Description |
|---|---|---|---|
| request_id | yes | The content-writer request (topic_request_id) | |
| limit | yes | Max suggestions |
Outreach
Draft personalized outreach messages for your leads.
generate_dm_draft
content:writeGenerate a personalized outreach DM draft for one of your leads, using the lead's Reddit context and your project's product knowledge and brand voice.
| Parameter | Type | Required | Description |
|---|---|---|---|
| lead_id | yes | The lead id to draft a DM for |