Un post r/Rag demandait quel scraper utiliser pour ~10M tokens. La forme moins chère et plus fiable pour le contenu public indexé est search-as-source. Ceci décrit la recette.
Prérequis
- Clé API Scavio
- Python ou Node
- Sujet avec 200 à 500 candidats de requêtes seeds
- Pipeline d'embedding
Parcours
Étape 1: Définissez 200 à 500 requêtes seeds
Largeur thématique > profondeur.
seeds = ['ai agent infrastructure 2026', 'agent memory patterns', 'tool use mcp', ...]Étape 2: Scavio Google SERP par seed
Collectez les URL des organic_results.
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
urls = set()
for q in seeds:
r = requests.post('https://api.scavio.dev/api/v1/search', headers=H, json={'query': q}).json()
for o in (r.get('organic_results') or [])[:10]:
urls.add(o['link'])Étape 3: Dédupliquez l'ensemble des URL
De nombreux seeds ramènent les mêmes pages faisant autorité.
print(f'Unique URLs: {len(urls)}')Étape 4: Scavio /extract sur les URL principales
Retourne du Markdown propre.
docs = []
for u in list(urls)[:2000]:
d = requests.post('https://api.scavio.dev/api/v1/extract', headers=H, json={'url': u}).json()
if d.get('text'): docs.append({'url': u, 'text': d['text']})Étape 5: Ajustement du budget de tokens
Arrêtez à 10M tokens.
# Walk top-N until cumulative tokens hit 10M.Étape 6: Embedez et envoyez au magasin vectoriel
Selon le pipeline existant.
# Voyage / OpenAI / Cohere → Pinecone / Qdrant / pgvector.Étape 7: Rafraîchissement trimestriel
Réexécution + diff des URL.
# Cron: quarterly. Embed only new/changed pages.Exemple Python
# Total cost: ~11K credits ≈ $50-90 within Project tier.Exemple JavaScript
// Same shape in TS.Sortie attendue
10M-token RAG corpus from indexed public content. ~5K unique URLs → ~2K extracted → 8M tokens of clean Markdown.