ScavioScavio
ProductPricingDocs
Sign InGet Started
  1. Home
  2. Tutorials
  3. How to Migrate from Brave Search API to Scavio
Tutorial

How to Migrate from Brave Search API to Scavio

Brave removed its free tier. Learn how to migrate your search integration to Scavio with code examples and a migration checklist.

Get Free API KeyAPI Docs

Brave Search API removed its free tier in February 2026 and now charges $5/1K queries with mandatory attribution. If your project depended on zero-cost Brave search, this tutorial walks through migrating to Scavio (250 free credits/month, no attribution required) with minimal code changes.

Prerequisites

  • Existing Brave Search API integration
  • A Scavio API key from scavio.dev (free signup)

Walkthrough

Step 1: Compare API shapes

Brave uses GET with query params and a subscription key header. Scavio uses POST with JSON body and x-api-key header. Map your existing query parameters to the new format.

Bash
# Brave (old)
curl -H 'X-Subscription-Token: BRAVE_KEY' \
  'https://api.search.brave.com/res/v1/web/search?q=python+web+framework'

# Scavio (new)
curl -X POST https://api.scavio.dev/api/v1/search \
  -H 'x-api-key: SCAVIO_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"platform": "google", "query": "python web framework"}'

Step 2: Update Python code

Replace the Brave HTTP call with Scavio's POST endpoint.

Python
import requests, os

# Old Brave code:
# resp = requests.get('https://api.search.brave.com/res/v1/web/search',
#     headers={'X-Subscription-Token': os.environ['BRAVE_KEY']},
#     params={'q': query})
# results = resp.json()['web']['results']

# New Scavio code:
def search(query: str) -> list:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'},
        json={'platform': 'google', 'query': query}, timeout=10)
    return resp.json().get('organic', [])

Step 3: Update JavaScript code

Replace the Brave fetch call with Scavio's POST endpoint.

JavaScript
// Old Brave code:
// const resp = await fetch(`https://api.search.brave.com/res/v1/web/search?q=${q}`, {
//   headers: {'X-Subscription-Token': process.env.BRAVE_KEY}
// });

// New Scavio code:
async function search(query) {
  const resp = 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})
  });
  return (await resp.json()).organic || [];
}

Step 4: Map response fields

Map Brave response fields to Scavio equivalents.

Python
# Brave response field -> Scavio equivalent:
# result.title         -> result['title']
# result.url           -> result['link']
# result.description   -> result['snippet']
# result.age           -> result['date'] (if available)
# result.extra_snippets -> (not available, use snippet)

# Normalize function:
def normalize_result(r: dict) -> dict:
    return {
        'title': r.get('title', ''),
        'url': r.get('link', ''),
        'description': r.get('snippet', ''),
    }

Step 5: Update MCP configuration (if applicable)

If you were using Brave MCP, replace with Scavio MCP.

JSON
// In claude_desktop_config.json or .cursor/mcp.json:
// Remove Brave MCP:
// "brave-search": { "command": "npx", "args": ["@anthropic/mcp-brave-search"] }

// Add Scavio MCP:
{
  "mcpServers": {
    "scavio": {
      "url": "https://mcp.scavio.dev/mcp",
      "headers": { "x-api-key": "your_scavio_api_key" }
    }
  }
}

Step 6: Remove attribution requirement

Brave required attribution in your project for the free credit. Scavio does not require attribution.

Bash
# Remove from your README/about page:
# 'Powered by Brave Search API' (no longer needed)

# Scavio free tier (250 credits/month) has no attribution requirement.
# You may credit Scavio if you want, but it is not required.

Python Example

Python
import requests, os

def search_scavio(query: str, platform: str = 'google') -> list:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'},
        json={'platform': platform, 'query': query}, timeout=10)
    return [{'title': r['title'], 'url': r.get('link',''), 'snippet': r.get('snippet','')}
            for r in resp.json().get('organic', [])]

JavaScript Example

JavaScript
async function searchScavio(query, platform = 'google') {
  const resp = 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, query})
  });
  const data = await resp.json();
  return (data.organic || []).map(r => ({title: r.title, url: r.link, snippet: r.snippet}));
}

Expected Output

JSON
A migrated search integration that works with Scavio instead of Brave, with 250 free credits/month and no attribution requirement.

Related Tutorials

  • How to Fetch Google Search Results in Python
  • How to Add Web Search to a Coding Agent

Frequently Asked Questions

Most developers complete this tutorial in 15 to 30 minutes. You will need a Scavio API key (free tier works) and a working Python or JavaScript environment.

Existing Brave Search API integration. A Scavio API key from scavio.dev (free signup). A Scavio API key gives you 50 free credits on signup.

Yes. The free tier includes 50 credits on signup, which is more than enough to complete this tutorial and prototype a working solution.

Scavio has a native LangChain package (langchain-scavio), an MCP server, and a plain REST API that works with any HTTP client. This tutorial uses the raw REST API, but you can adapt to your framework of choice.

Related Resources

Solution

Migrate from Brave Search API to Scavio for Better Coverage

Read more
Best Of

Best Search API as a Brave Alternative in 2026

Read more
Comparison

Brave Search API vs Scavio

Read more
Comparison

Brave Search API vs Scavio

Read more
Best Of

Best Brave Search API Alternatives in 2026

Read more
Solution

Replace Brave Search API in Your Agent with Multi-Platform Search

Read more

Start Building

Brave removed its free tier. Learn how to migrate your search integration to Scavio with code examples and a migration checklist.

Get Free API KeyRead the Docs
ScavioScavio

Real-time search API for AI agents. Search every platform, not just Google.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative

Tools

  • JSON Formatter
  • cURL to Code
  • Token Counter
  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy