crewAI-tools icon indicating copy to clipboard operation
crewAI-tools copied to clipboard

feat: add SteelScrapeWebsiteTool for scraping websites

Open junhsss opened this issue 5 months ago • 0 comments

Description

Adds SteelScrapeWebsiteTool, a web scraping tool that integrates the Steel to fetch webpage contents for AI agents. It supports captcha solving and proxy-based stealth to enable more reliable, effective scraping.

Usage

Basic:

from crewai_tools import SteelScrapeWebsiteTool

tool = SteelScrapeWebsiteTool(api_key="your_key", formats=["markdown"], proxy=True)
result = tool.run("https://example.com")

CrewAI agent:

from crewai import Agent
from crewai_tools import SteelScrapeWebsiteTool

scraper = SteelScrapeWebsiteTool(api_key="your_key", formats=["markdown"], proxy=True)
agent = Agent(role="Researcher", goal="Extract and analyze web content", tools=[scraper])

Testing

  • Location: tests/tools/test_steel_scrape_website_tool.py
  • Coverage areas:
    • Prefers constructor api_key over env
    • Raises without API key when neither provided
    • Happy-path _run and Steel client interaction
    • Guard when client is not initialized
    • Defaults for formats and proxy

Dependencies

  • Adds runtime dependency: steel-sdk>=0.9.2
  • Adds optional extra group steel-sdk with the same pin
  • Environment: STEEL_API_KEY required for execution

Thanks for creating such an awesome project and reviewing this PR! 🙂 I’m looking forward to using Steel within the CrewAI ecosystem.

junhsss avatar Sep 04 '25 12:09 junhsss