{
  "version": "2026-05-12.1",
  "lastUpdated": "2026-05-12",
  "defaultLocale": "en",
  "canonicalLocale": "en",
  "productType": "reddit-signal-intelligence-and-execution-coordination",
  "product": {
    "name": "RedditFind",
    "url": "https://redditfind.ai",
    "summary": "RedditFind is a Reddit signal discovery, research, and execution coordination tool for growth, research, and go-to-market teams.",
    "humanReviewRequired": true
  },
  "documentation": [
    {
      "id": "llmsTxt",
      "label": "llms.txt",
      "url": "https://redditfind.ai/llms.txt",
      "format": "text/plain",
      "description": {
        "zh": "Shortest machine entry that points agents to the formal contracts.",
        "en": "Shortest machine entry that points agents to the formal contracts."
      }
    },
    {
      "id": "agentsPage",
      "label": "agents",
      "url": "https://redditfind.ai/agents",
      "format": "text/html",
      "description": {
        "zh": "Human-readable primer that explains what RedditFind is, how to route work, and where to validate outputs.",
        "en": "Human-readable primer that explains what RedditFind is, how to route work, and where to validate outputs."
      }
    },
    {
      "id": "agentsMarkdown",
      "label": "agents.md",
      "url": "https://redditfind.ai/agents.md",
      "format": "text/markdown",
      "description": {
        "zh": "Markdown version of the agent primer for ingestion and offline retrieval.",
        "en": "Markdown version of the agent primer for ingestion and offline retrieval."
      }
    },
    {
      "id": "agentsJson",
      "label": "agents.json",
      "url": "https://redditfind.ai/agents.json",
      "format": "application/json",
      "description": {
        "zh": "Machine-readable routing contract for tasks, auth bootstrap, limits, boundaries, and examples.",
        "en": "Machine-readable routing contract for tasks, auth bootstrap, limits, boundaries, and examples."
      }
    },
    {
      "id": "openApiJson",
      "label": "openapi.json",
      "url": "https://redditfind.ai/openapi.json",
      "format": "application/json",
      "description": {
        "zh": "Canonical OpenAPI alias for SDKs, codegen, and direct API integrations.",
        "en": "Canonical OpenAPI alias for SDKs, codegen, and direct API integrations."
      }
    },
    {
      "id": "examplesIndex",
      "label": "examples/index.json",
      "url": "https://redditfind.ai/examples/index.json",
      "format": "application/json",
      "description": {
        "zh": "Directory of official task examples used to validate output shape after routing and contract selection.",
        "en": "Directory of official task examples used to validate output shape after routing and contract selection."
      }
    },
    {
      "id": "llmsFullTxt",
      "label": "llms-full.txt",
      "url": "https://redditfind.ai/llms-full.txt",
      "format": "text/plain",
      "description": {
        "zh": "Long-form ingestion bundle that aggregates routing, auth, validation, and boundary guidance in one text surface.",
        "en": "Long-form ingestion bundle that aggregates routing, auth, validation, and boundary guidance in one text surface."
      }
    }
  ],
  "readOrder": [
    "https://redditfind.ai/llms.txt",
    "https://redditfind.ai/agents",
    "https://redditfind.ai/agents.json",
    "https://redditfind.ai/openapi.json",
    "https://redditfind.ai/examples/index.json"
  ],
  "recommendedReadOrder": [
    "https://redditfind.ai/llms.txt",
    "https://redditfind.ai/agents",
    "https://redditfind.ai/agents.json",
    "https://redditfind.ai/openapi.json",
    "https://redditfind.ai/examples/index.json"
  ],
  "publicEntrypoints": {
    "llmsTxt": "https://redditfind.ai/llms.txt",
    "agentsPage": "https://redditfind.ai/agents",
    "agentsJson": "https://redditfind.ai/agents.json",
    "openApiJson": "https://redditfind.ai/openapi.json",
    "examplesIndex": "https://redditfind.ai/examples/index.json"
  },
  "demoFlow": {
    "token": "rf_test_demo_agent_flow",
    "baseUrl": "https://redditfind.ai/api/open/demo/v1",
    "runbookUrl": "https://redditfind.ai/examples/demo-flow.json",
    "steps": [
      {
        "id": "whoami",
        "method": "GET",
        "url": "https://redditfind.ai/api/open/demo/v1/whoami",
        "expectedStatus": 200
      },
      {
        "id": "createJob",
        "method": "POST",
        "url": "https://redditfind.ai/api/open/demo/v1/community-discovery/jobs",
        "expectedStatus": 201,
        "expectedJobId": "cdj_demo_001"
      },
      {
        "id": "getJob",
        "method": "GET",
        "url": "https://redditfind.ai/api/open/demo/v1/community-discovery/jobs/cdj_demo_001",
        "expectedStatus": 200,
        "expectedJobId": "cdj_demo_001",
        "expectedResultId": "cdr_demo_001"
      },
      {
        "id": "getResult",
        "method": "GET",
        "url": "https://redditfind.ai/api/open/demo/v1/community-discovery/jobs/cdj_demo_001/result",
        "expectedStatus": 200,
        "expectedJobId": "cdj_demo_001",
        "expectedResultId": "cdr_demo_001"
      }
    ],
    "limitations": [
      "This demo flow validates HTTP client behavior, headers, polling, and JSON parsing only.",
      "The demo payload is fixed and does not change based on your request body.",
      "The demo flow does not create real jobs, consume billing credits, or use your account data.",
      "Switch to a real rf_test_ token under /api/open/v1 after the demo flow succeeds."
    ]
  },
  "contracts": [
    {
      "id": "llmsTxt",
      "format": "text/plain",
      "title": "Minimal discovery index",
      "purpose": "Shortest machine entry that points agents to the formal contracts.",
      "audience": "agent",
      "priority": 1,
      "uri": "https://redditfind.ai/llms.txt"
    },
    {
      "id": "agentsPage",
      "format": "text/html",
      "title": "Agent primer",
      "purpose": "Human-readable primer that explains what RedditFind is, how to route work, and where to validate outputs.",
      "audience": "both",
      "priority": 0.95,
      "uri": "https://redditfind.ai/agents"
    },
    {
      "id": "agentsMarkdown",
      "format": "text/markdown",
      "title": "Agent primer markdown",
      "purpose": "Markdown version of the agent primer for ingestion and offline retrieval.",
      "audience": "agent",
      "priority": 0.92,
      "uri": "https://redditfind.ai/agents.md"
    },
    {
      "id": "agentsJson",
      "format": "application/json",
      "title": "Machine routing manifest",
      "purpose": "Machine-readable routing contract for tasks, auth bootstrap, limits, boundaries, and examples.",
      "audience": "agent",
      "priority": 0.98,
      "uri": "https://redditfind.ai/agents.json"
    },
    {
      "id": "openApiJson",
      "format": "application/json",
      "title": "OpenAPI contract",
      "purpose": "Canonical OpenAPI alias for SDKs, codegen, and direct API integrations.",
      "audience": "agent",
      "priority": 0.97,
      "uri": "https://redditfind.ai/openapi.json"
    },
    {
      "id": "examplesIndex",
      "format": "application/json",
      "title": "Examples index",
      "purpose": "Directory of official task examples used to validate output shape after routing and contract selection.",
      "audience": "agent",
      "priority": 0.9,
      "uri": "https://redditfind.ai/examples/index.json"
    },
    {
      "id": "llmsFullTxt",
      "format": "text/plain",
      "title": "Expanded LLM bundle",
      "purpose": "Long-form ingestion bundle that aggregates routing, auth, validation, and boundary guidance in one text surface.",
      "audience": "agent",
      "priority": 0.88,
      "uri": "https://redditfind.ai/llms-full.txt"
    }
  ],
  "keyPages": [
    {
      "id": "openApiDocs",
      "name": {
        "zh": "Open API 文档",
        "en": "Open API docs"
      },
      "url": {
        "en": "https://redditfind.ai/en/open-api",
        "zh": "https://redditfind.ai/zh/open-api"
      }
    },
    {
      "id": "agentDemo",
      "name": {
        "zh": "公开 Demo 输出",
        "en": "Public demo outputs"
      },
      "url": {
        "en": "https://redditfind.ai/en/agent-demo",
        "zh": "https://redditfind.ai/zh/agent-demo"
      }
    },
    {
      "id": "redditAiAgent",
      "name": {
        "zh": "执行协同（Reddit AI Agent）",
        "en": "Execution coordination (Reddit AI Agent)"
      },
      "url": {
        "en": "https://redditfind.ai/en/reddit-ai-agent",
        "zh": "https://redditfind.ai/zh/reddit-ai-agent"
      }
    },
    {
      "id": "subredditDiscovery",
      "name": {
        "zh": "Subreddit Discovery",
        "en": "Subreddit Discovery"
      },
      "url": {
        "en": "https://redditfind.ai/en/subreddit-discovery",
        "zh": "https://redditfind.ai/zh/subreddit-discovery"
      }
    },
    {
      "id": "subredditAnalysis",
      "name": {
        "zh": "Subreddit Analysis",
        "en": "Subreddit Analysis"
      },
      "url": {
        "en": "https://redditfind.ai/en/subreddit-analysis",
        "zh": "https://redditfind.ai/zh/subreddit-analysis"
      }
    },
    {
      "id": "redditPostMonitoring",
      "name": {
        "zh": "Reddit Post Monitoring",
        "en": "Reddit Post Monitoring"
      },
      "url": {
        "en": "https://redditfind.ai/en/reddit-post-monitoring",
        "zh": "https://redditfind.ai/zh/reddit-post-monitoring"
      }
    }
  ],
  "primaryPages": {
    "home": "https://redditfind.ai/en",
    "openApiDocs": "https://redditfind.ai/en/open-api",
    "agentDemo": "https://redditfind.ai/en/agent-demo",
    "pricing": "https://redditfind.ai/en/pricing",
    "redditAiAgent": "https://redditfind.ai/en/reddit-ai-agent"
  },
  "auth": {
    "type": "bearer_api_key",
    "getKeyUrl": "https://redditfind.ai/dashboard?tab=open-api",
    "verifyEndpoint": "https://redditfind.ai/api/open/v1/whoami",
    "requiredHeaders": [
      "Authorization: Bearer <token>",
      "Idempotency-Key: <unique-value> on create requests when possible"
    ],
    "idempotencyHeader": "Idempotency-Key",
    "environments": [
      "test",
      "live"
    ],
    "steps": [
      "Create or retrieve an API key from the Open API console.",
      "Call /api/open/v1/whoami before business endpoints.",
      "Confirm token owner, environment, and scopes.",
      "Create jobs first, then read job, result, or hits resources.",
      "Send Idempotency-Key on create requests when possible."
    ]
  },
  "tasks": [
    {
      "id": "community_discovery",
      "title": "Community discovery",
      "whenToUse": "Use when the user does not yet know which subreddits matter and needs a ranked shortlist backed by evidence threads.",
      "intentExamples": [
        "Find the communities where target users discuss this problem.",
        "Identify subreddits where competitor complaints are recurring."
      ],
      "requiredInputs": [
        {
          "name": "product",
          "description": "What the product is and which problem it solves."
        },
        {
          "name": "audience",
          "description": "Who the target users are."
        },
        {
          "name": "goal",
          "description": "What the run should optimize for: validation, acquisition, research, or monitoring setup."
        }
      ],
      "optionalInputs": [
        {
          "name": "constraints",
          "description": "Themes, exclusions, market focus, or language constraints."
        },
        {
          "name": "timeframe",
          "description": "Any recency requirement that changes which communities matter."
        }
      ],
      "outputs": [
        "Prioritized subreddit shortlist",
        "Evidence threads",
        "Operational clusters"
      ],
      "humanReviewRequired": false,
      "uiUrl": "https://redditfind.ai/en/subreddit-discovery",
      "api": {
        "create": "/api/open/v1/community-discovery/jobs",
        "read": "/api/open/v1/community-discovery/jobs/{job_id}",
        "result": "/api/open/v1/community-discovery/jobs/{job_id}/result",
        "operationIds": [
          "createCommunityDiscoveryJob",
          "listCommunityDiscoveryJobs",
          "getCommunityDiscoveryJob",
          "deleteCommunityDiscoveryJob",
          "getCommunityDiscoveryResult"
        ],
        "availability": "open_api"
      },
      "exampleUrl": "https://redditfind.ai/examples/community-discovery.json"
    },
    {
      "id": "community_overview",
      "title": "Community overview",
      "whenToUse": "Use when target communities are already known and the user needs rules, tone, high-performing content patterns, and participation risk.",
      "intentExamples": [
        "I already have a shortlist of subreddits and need rules and norms.",
        "Read this subreddit before we post or reply in it."
      ],
      "requiredInputs": [
        {
          "name": "subreddit",
          "description": "The subreddit that should be analyzed."
        },
        {
          "name": "objective",
          "description": "Why this community needs to be understood before taking action."
        }
      ],
      "optionalInputs": [
        {
          "name": "include_rules",
          "description": "Whether to explicitly include rule extraction in the run."
        },
        {
          "name": "force_refresh",
          "description": "Whether cached results are acceptable or fresh retrieval is required."
        }
      ],
      "outputs": [
        "Community profile",
        "Rules and taboos",
        "Content patterns and engagement guidance"
      ],
      "humanReviewRequired": false,
      "uiUrl": "https://redditfind.ai/en/subreddit-analysis",
      "api": {
        "create": "/api/open/v1/community-overview/jobs",
        "read": "/api/open/v1/community-overview/jobs/{job_id}",
        "result": "/api/open/v1/community-overview/jobs/{job_id}/result",
        "operationIds": [
          "createCommunityOverviewJob",
          "listCommunityOverviewJobs",
          "getCommunityOverviewJob",
          "deleteCommunityOverviewJob",
          "getCommunityOverviewResult"
        ],
        "availability": "open_api"
      },
      "exampleUrl": "https://redditfind.ai/examples/community-overview.json"
    },
    {
      "id": "post_monitoring",
      "title": "Post monitoring",
      "whenToUse": "Use when the user already knows keywords or communities and needs an ongoing queue of fresh, triaged threads.",
      "intentExamples": [
        "Monitor fresh posts from these keywords and communities.",
        "Keep tracking new complaint threads about this competitor."
      ],
      "requiredInputs": [
        {
          "name": "goal",
          "description": "Which signals matter most during monitoring."
        }
      ],
      "optionalInputs": [
        {
          "name": "keywords",
          "description": "Keywords, brand terms, or competitor terms to track."
        },
        {
          "name": "subreddits",
          "description": "Specific communities that should be monitored."
        },
        {
          "name": "replyGuardrails",
          "description": "Brand tone and review rules if reply suggestions should be included."
        }
      ],
      "outputs": [
        "Fresh monitoring queue",
        "Triage signals and priority",
        "Human-reviewed reply suggestions when needed"
      ],
      "humanReviewRequired": true,
      "uiUrl": "https://redditfind.ai/en/reddit-post-monitoring",
      "api": {
        "create": "/api/open/v1/monitoring/jobs",
        "read": "/api/open/v1/monitoring/jobs/{job_id}",
        "result": "/api/open/v1/monitoring/jobs/{job_id}/hits",
        "operationIds": [
          "createMonitoringJob",
          "listMonitoringJobs",
          "getMonitoringJob",
          "updateMonitoringJob",
          "deleteMonitoringJob",
          "listMonitoringHits"
        ],
        "availability": "open_api"
      },
      "exampleUrl": "https://redditfind.ai/examples/post-monitoring.json"
    },
    {
      "id": "reply_assistant",
      "title": "Reply assistant",
      "whenToUse": "Use when discovery, overview, or monitoring context already exists and the user needs the next best action or an editable response draft with lower execution risk.",
      "intentExamples": [
        "Given these communities and monitoring results, what should we do next first?",
        "Draft a lower-risk reply angle and keep human review in the loop."
      ],
      "requiredInputs": [
        {
          "name": "context",
          "description": "Context collected from discovery, community overview, or post monitoring."
        },
        {
          "name": "objective",
          "description": "Which next step RedditFind should help advance."
        }
      ],
      "optionalInputs": [
        {
          "name": "guardrails",
          "description": "Brand tone, forbidden claims, and human-review constraints."
        }
      ],
      "outputs": [
        "Recommended next actions",
        "Evidence-aware execution context",
        "Editable drafts that still require human review"
      ],
      "humanReviewRequired": true,
      "uiUrl": "https://redditfind.ai/en/reddit-ai-agent",
      "api": {
        "create": null,
        "read": null,
        "result": null,
        "operationIds": [],
        "availability": "ui_only"
      },
      "exampleUrl": "https://redditfind.ai/examples/reply-assistant.json"
    }
  ],
  "examples": {
    "index": "https://redditfind.ai/examples/index.json",
    "default": "https://redditfind.ai/examples/reply-assistant.json",
    "items": [
      {
        "taskId": "community_discovery",
        "slug": "community-discovery",
        "label": "Community discovery demo",
        "intent": "Find the communities where target users discuss this problem.",
        "url": "https://redditfind.ai/examples/community-discovery.json",
        "humanReviewRequired": false
      },
      {
        "taskId": "community_overview",
        "slug": "community-overview",
        "label": "Subreddit analysis demo",
        "intent": "I already have a shortlist of subreddits and need rules and norms.",
        "url": "https://redditfind.ai/examples/community-overview.json",
        "humanReviewRequired": false
      },
      {
        "taskId": "post_monitoring",
        "slug": "post-monitoring",
        "label": "Post monitoring demo",
        "intent": "Monitor fresh posts from these keywords and communities.",
        "url": "https://redditfind.ai/examples/post-monitoring.json",
        "humanReviewRequired": true
      },
      {
        "taskId": "reply_assistant",
        "slug": "reply-assistant",
        "label": "Reddit AI Agent demo",
        "intent": "Given these communities and monitoring results, what should we do next first?",
        "url": "https://redditfind.ai/examples/reply-assistant.json",
        "humanReviewRequired": true
      }
    ]
  },
  "boundaries": {
    "humanReviewRequired": true,
    "noAutoPosting": true,
    "noBulkDmAutomation": true,
    "notes": [
      "Human review is required before any public engagement.",
      "RedditFind does not auto-post to Reddit.",
      "RedditFind does not automate bulk direct messages.",
      "Examples validate structure, not live freshness or permission to engage publicly."
    ]
  },
  "limits": {
    "asynchronousJobs": true,
    "pollingRecommended": true,
    "verifyWithWhoamiFirst": true,
    "rateLimitsDoc": "https://redditfind.ai/en/open-api/guides/errors-rate-limits",
    "usageEndpoint": "https://redditfind.ai/api/open/v1/usage"
  },
  "errors": [
    {
      "code": "INVALID_ARGUMENT",
      "when": "The request body is missing required fields or contains invalid values.",
      "next": "Fix the request shape before retrying."
    },
    {
      "code": "UNAUTHORIZED",
      "when": "The bearer token is missing, invalid, or revoked.",
      "next": "Rotate or recreate the key, then retry whoami first."
    },
    {
      "code": "RESULT_NOT_READY",
      "when": "The job exists but the result resource is not ready yet.",
      "next": "Poll the job resource or wait before requesting the result again."
    }
  ]
}