ScavioScavio
产品定价文档
登录开始使用
  1. 首页
  2. 教程
  3. 如何使用新近度和需求评分构建 REST API 包装 Scavio Reddit
教程

如何使用新近度和需求评分构建 REST API 包装 Scavio Reddit

通过 Scavio Reddit 端点构建 REST API,并具有新近度过滤和需求评分功能。用于副项目验证的 FastAPI 教程。

获取免费API密钥API文档

r/SideProject 帖子要求提供一个工具,可以使用新近度过滤器检查 Reddit 需求。本教程将该工具构建为 REST API:它包装了 Scavio 的 Reddit 端点,添加了可配置的新近度窗口(1d、7d、30d),并对需求强度进行评分。部署它,您就有了一个可重用的验证端点。

前置条件

  • Scavio API 密钥
  • Python 3.8+ 与 FastAPI
  • 服务用 uvicorn

操作指南

步骤 1: 设置 FastAPI 项目

具有一个端点的最小 API。

Python
from fastapi import FastAPI, Query
from pydantic import BaseModel
from datetime import datetime, timedelta
import requests, os

app = FastAPI(title='Reddit Demand API')
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

class DemandResult(BaseModel):
    query: str
    window: str
    post_count: int
    demand_score: int
    top_posts: list

步骤 2: 构建需求端点

具有新近度过滤器参数的单个端点。

Python
@app.get('/demand', response_model=DemandResult)
async def check_demand(
    query: str,
    window: str = Query('7d', regex='^(1d|7d|30d)$')
):
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=H,
        json={'platform': 'reddit', 'query': query, 'sort': 'new'}).json()
    results = data.get('results', [])
    # Filter by recency
    days = {'1d': 1, '7d': 7, '30d': 30}[window]
    cutoff = datetime.now() - timedelta(days=days)
    recent = []
    for r in results:
        post_date = r.get('date', '')
        if post_date:
            try:
                dt = datetime.fromisoformat(post_date.replace('Z', '+00:00'))
                if dt.replace(tzinfo=None) >= cutoff:
                    recent.append(r)
            except ValueError:
                continue
    # Score demand
    score = sum(r.get('upvotes', 0) + r.get('comments', 0) * 2 for r in recent)
    return DemandResult(
        query=query, window=window, post_count=len(recent),
        demand_score=score,
        top_posts=[{'title': r.get('title', ''), 'upvotes': r.get('upvotes', 0),
            'subreddit': r.get('subreddit', ''), 'url': r.get('url', '')}
            for r in recent[:10]])

步骤 3: 添加批量验证端点

一次检查多个想法。

Python
@app.post('/demand/batch')
async def batch_demand(queries: list[str], window: str = '7d'):
    results = []
    for q in queries:
        result = await check_demand(q, window)
        results.append(result)
    # Sort by demand score descending
    results.sort(key=lambda x: x.demand_score, reverse=True)
    return results

步骤 4: 运行服务器

使用 uvicorn 启动 API。

Bash
# Install: pip install fastapi uvicorn requests
# Run: uvicorn demand_api:app --reload --port 8000
#
# Test: curl 'http://localhost:8000/demand?query=invoice+tool&window=7d'
#
# Cost: each demand check = 1 Scavio query = $0.005

Python 示例

Python
# Full demand API server:
# pip install fastapi uvicorn requests
# uvicorn demand_api:app --port 8000
#
# GET /demand?query=crm+for+freelancers&window=7d
# POST /demand/batch with ["idea1", "idea2", "idea3"]
#
# Each check: 1 query = $0.005 via Scavio

JavaScript 示例

JavaScript
// Call the demand API from JS:
const res = await fetch('http://localhost:8000/demand?query=invoice+tool&window=7d');
const data = await res.json();
console.log(`Demand score: ${data.demand_score}, Posts: ${data.post_count}`);

预期输出

JSON
REST API at /demand with recency filtering (1d/7d/30d) and demand scoring. Batch endpoint for validating multiple ideas. Each query costs $0.005.

相关教程

  • 如何构建具有新近度过滤功能的 Reddit 需求扫描器
  • 在构建副项目之前如何扫描 Reddit 寻找需求信号

常见问题

大多数开发者在15到30分钟内完成本教程。您需要一个Scavio API密钥(免费套餐即可)和可用的Python或JavaScript环境。

Scavio API 密钥. Python 3.8+ 与 FastAPI. 服务用 uvicorn. Scavio API密钥注册即送50个免费积分。

可以。免费套餐注册即送50个积分,完全足够完成本教程并构建一个可运行的原型解决方案。

Scavio提供原生LangChain包(langchain-scavio)、MCP服务器以及适用于任何HTTP客户端的REST API。本教程使用 the raw REST API, 但您可以根据需要适配您选择的框架。

相关资源

Best Of

2026 年股票情绪数据的最佳 Reddit API

Read more
Best Of

2026 年最佳 Reddit API

Read more
Solution

Reddit Reddit API

Read more
Solution

Reddit

Read more
Comparison

Reddit API / Search API vs Social Listening Tools (Brandwatch, Mention, Sprout Social)

Read more
Use Case

Reddit 交易情绪分析

Read more

开始构建

通过 Scavio Reddit 端点构建 REST API,并具有新近度过滤和需求评分功能。用于副项目验证的 FastAPI 教程。

获取免费API密钥阅读文档
ScavioScavio

面向AI智能体的实时搜索API。搜索所有平台,不仅仅是Google。

产品

  • 功能
  • 定价
  • 控制台
  • 联盟计划

开发者

  • 文档
  • API参考
  • 快速开始
  • MCP集成
  • Python SDK

替代方案

  • Tavily替代方案
  • SerpAPI替代方案
  • Firecrawl替代方案
  • Exa替代方案

工具

  • JSON格式化
  • cURL转代码
  • Token计数器
  • 全部工具

© 2026 Scavio. 保留所有权利。

Featured on TAAFT
服务条款隐私政策