scraperapi-research-agent

A research agent that searches for web sources, downloads their content, and asks Claude to combine them into a cited report. It uses ScraperAPI to access sources and Anthropic’s Files API to provide documents to Claude.

In plain words
What is it for?
It is for answering focused research questions and producing Markdown reports with source citations. It can also limit the number of sources and account for recency and API-credit constraints.
Why use it?
It removes the need to search for sources, collect their contents, and assemble the research report manually in separate steps.

Skill for Claude CodeCodex

Part of the scraperapi plugin — 20 skills, 1 MCP server shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/scraperapi/scraperapi-skills/scraperapi-research-agent
Any agent
npx skills add scraperapi/scraperapi-skills --skill scraperapi-research-agent
Clone the repo
git clone --depth 1 https://github.com/scraperapi/scraperapi-skills

Made for: Claude Code, Codex.

Or install scraperapi, the plugin that ships this one along with the rest of its 20 skills, 1 MCP server.

Per session 188 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,369 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00188 $0.01369
Opus 5 $0.00094 $0.00685
Sonnet 5 $0.00038 $0.00274
Haiku 4.5 $0.00019 $0.00137

Measured 2d ago against content hash f26bc92d6aac, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

scraperapi-research-agent scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/research_agent.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/scraperapi-research-agent/SKILL.md · 157 lines

How it starts

The opening of the file, as written. The whole thing — 157 lines — stays where its author put it; the contents beside it link to each section on GitHub.

ScraperAPI Research Agent

End-to-end autonomous research: ScraperAPI finds and fetches sources → Anthropic Files API ingests them as cited documents → Claude synthesizes a report.

Run it:

# Install dependencies
pip install requests anthropic

# Set env vars
export SCRAPERAPI_API_KEY=your-key
export ANTHROPIC_API_KEY=your-key

# Run
python skills/scraperapi-research-agent/scripts/research_agent.py \
  --question "What are the best practices for rate limiting in web APIs?" \
  --max-sources 5 \
  --output report.md

See scripts/research_agent.py for the full implementation.


Planning Checklist

Before starting a research run, establish:

  • Question clarity — Is the question specific enough to produce useful search queries? Vague questions like "tell me about AI" produce noise. Better: "What are the tradeoffs between RAG and fine-tuning for domain-specific LLMs?"
  • Source count — How many sources are needed? 3–5 is usually sufficient for a factual summary; 8–10 for a comparative analysis. More sources = more ScraperAPI credits.
  • Recency — Does the answer depend on recent events? Search queries will use recent date filters.
  • Credit budget — Each source costs ~1 credit to scrape (more with JS rendering). 5 sources = ~5–10 credits total.
  • Stop condition — Define when to stop. The default stop is --max-sources (5). Do not loop indefinitely.

Research Loop

1. PLAN
   ↓ Claude decomposes the question into 2–3 targeted search queries

2. DISCOVER
   ↓ ScraperAPI google/search structured endpoint → list of (url, title, snippet)

3. DEDUPLICATE
   ↓ Filter to top N unique URLs (default: 5), skipping PDFs and low-quality domains

4. FETCH
   ↓ ScraperAPI scrape each URL as markdown (output_format=markdown)
   ↓ Skip pages returning < 200 characters (blocked, error pages)

5. UPLOAD
   ↓ Upload each scraped page to Anthropic Files API as a text/plain artifact
   ↓ Store file_id for each source

6. SYNTHESIZE
   ↓ Claude (claude-opus-4-8, adaptive thinking) reads all document artifacts
   ↓ Returns structured report with inline citations [1], [2]...

7. CLEAN UP
   ↓ Delete uploaded file artifacts from Anthropic
   ↓ Write or print the final report

STOP when: max_sources reached, or all queries exhausted (whichever comes first).

Read the full file on GitHub · 157 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 157 lines · 188 tokens per session scan A f26bc92d6aac

Subscribe to this mod's changes

scraperapi-research-agent is a skill published in the GitHub repository scraperapi/scraperapi-skills (10 stars, last pushed 26d ago), licensed MIT. It adds 188 tokens to every session and 1,369 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

novada-proxy

Residential proxy tools for AI agents — fetch, crawl, search, extract, render through 2M+ IPs. Bypass anti-bot, geo-target 195+ countries. Use when: scraping websites, researching topics, extracting structured data, or any task that needs web access through a proxy.

NovadaLabs/novada-proxy · 66 tokens

debug-optimize-lcp

Guides debugging and optimizing Largest Contentful Paint (LCP) using Chrome DevTools MCP tools. Use this skill whenever the user asks about LCP performance, slow page loads, Core Web Vitals optimization, or wants to understand why their page's main content takes too long to appear. Also use when the user mentions…

ChromeDevTools/chrome-devtools-mcp · 99 tokens

xcodebuildmcp-structured-output-review

Use when reviewing XcodeBuildMCP structured output schema changes, schema versioning, manifest outputSchema metadata, and JSON fixture compatibility.

getsentry/XcodeBuildMCP · 37 tokens

opik-diagnose

Surface the Opik traces worth a developer's attention, ranked by signal — errors, failed tool calls, latency, regressions, and low online-eval scores — plus Diagnostics issues. Reads live/production traces via the SDK (searchtraces and agentinsights) and works with no MCP; uses the MCP issue entity when connected.…

comet-ml/opik-mcp · 147 tokens

mcp-transport-contract-auditor

Route shaft-mcp transport-contract audits to the canonical playbook.

ShaftHQ/SHAFT_ENGINE · 22 tokens

create-operator

MUST READ before creating or moving any operator (createop, copyop, setopposition, or executepython builds). Required verification, canonical positioning recipe, and error-checking steps.

dylanroscover/Embody · 42 tokens