ScavioScavio
产品定价文档
登录开始使用
  1. 首页
  2. 教程
  3. 如何在 Scavio 上构建精简 API 层以实现按查询 SEO 计费
教程

如何在 Scavio 上构建精简 API 层以实现按查询 SEO 计费

在 Scavio 上构建一个薄 API 层,跟踪每个查询的 SEO 成本。非常适合想要避免按月订阅的轻度用户。

获取免费API密钥API文档

r/SideProject 用户厌倦了每月支付 29 美元以上的费用来购买他们几乎不使用的 SEO 工具。本教程构建了一个薄 API 层,用于包装 Scavio、跟踪每个查询的成本,并让您(或您的用户)查看准确的使用情况。将其视为您控制的计量 SEO API。

前置条件

  • Scavio API 密钥
  • Python 3.8+ 与 Flask 或 FastAPI
  • SQLite 用于使用情况跟踪

操作指南

步骤 1: 设置 API 服务器

最小的 FastAPI 应用程序,通过使用情况跟踪代理到 Scavio。

Python
from fastapi import FastAPI, Header, HTTPException
from pydantic import BaseModel
import requests, os, sqlite3, datetime

app = FastAPI()
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
conn = sqlite3.connect('usage.db', check_same_thread=False)
conn.execute('CREATE TABLE IF NOT EXISTS usage (ts TEXT, user TEXT, query TEXT, cost REAL)')

class SearchRequest(BaseModel):
    query: str
    country_code: str = 'us'

步骤 2: 通过成本跟踪代理搜索请求

每个请求都会记录成本。

Python
@app.post('/seo/rank-check')
async def rank_check(req: SearchRequest, x_user: str = Header()):
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=H,
        json={'platform': 'google', 'query': req.query,
              'country_code': req.country_code}).json()
    # Log usage: $0.005 per query
    conn.execute('INSERT INTO usage VALUES (?, ?, ?, ?)',
        (datetime.datetime.now().isoformat(), x_user, req.query, 0.005))
    conn.commit()
    return {'results': data.get('organic_results', []), 'cost': 0.005}

步骤 3: 添加使用情况仪表板端点

让用户看到他们的使用情况和费用。

Python
@app.get('/usage/{user}')
async def get_usage(user: str):
    rows = conn.execute(
        'SELECT date(ts) as day, count(*) as queries, sum(cost) as total '
        'FROM usage WHERE user=? GROUP BY date(ts) ORDER BY day DESC LIMIT 30',
        (user,)).fetchall()
    return {'user': user,
            'daily_usage': [{'date': r[0], 'queries': r[1], 'cost': r[2]} for r in rows],
            'total_cost': sum(r[2] for r in rows)}

步骤 4: 添加预算限制

防止用户超出每月预算。

Python
@app.post('/seo/rank-check-metered')
async def rank_check_metered(req: SearchRequest, x_user: str = Header()):
    monthly_spend = conn.execute(
        'SELECT sum(cost) FROM usage WHERE user=? AND ts >= date("now", "start of month")',
        (x_user,)).fetchone()[0] or 0
    budget = 5.00  # $5/month default budget
    if monthly_spend >= budget:
        raise HTTPException(429, f'Monthly budget of ${budget} exceeded. Current: ${monthly_spend:.2f}')
    return await rank_check(req, x_user)

Python 示例

Python
# Self-hosted metered SEO API:
# $0.005 per rank check via Scavio
# SQLite tracks per-user usage
# Budget limits prevent overuse
# 100 queries/month = $0.50 vs $29+ for Ahrefs Starter

JavaScript 示例

JavaScript
// Express.js equivalent:
app.post('/seo/rank-check', async (req, res) => {
  const data = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'},
    body: JSON.stringify({platform: 'google', query: req.body.query})
  }).then(r => r.json());
  // log usage to DB
  res.json({results: data.organic_results, cost: 0.005});
});

预期输出

JSON
Self-hosted metered SEO API with per-query cost tracking, usage dashboard, and budget limits. 100 queries/month = $0.50 vs Ahrefs Starter at $29/mo.

相关教程

  • 如何构建按查询付费的 SEO 排名检查器
  • 如何使用搜索 API 构建单独的 SaaS MVP

常见问题

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

Scavio API 密钥. Python 3.8+ 与 Flask 或 FastAPI. SQLite 用于使用情况跟踪. Scavio API密钥注册即送50个免费积分。

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

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

相关资源

Best Of

2026年最佳代理机构 SEO 报告 API

Read more
Best Of

AppSumo SEO 工具的最佳 API 替代品 (2026)

Read more
Solution

构建可预测成本的SEO API层

Read more
Glossary

代理 SEO API 报告

Read more
Glossary

SEO API 看板模式

Read more
Use Case

SEO 仪表板原始 API

Read more

开始构建

在 Scavio 上构建一个薄 API 层,跟踪每个查询的 SEO 成本。非常适合想要避免按月订阅的轻度用户。

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

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

产品

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

开发者

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

替代方案

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

工具

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

© 2026 Scavio. 保留所有权利。

Featured on TAAFT
服务条款隐私政策