deepsearch / tools /firecrawl_scrape.py
suchith83's picture
research app
68b80a4
raw
history blame contribute delete
973 Bytes
from .tool import Tool
from firecrawl import FirecrawlApp
from dotenv import load_dotenv
import os
load_dotenv()
class FirecrawlScrapeTool(Tool):
def __init__(self):
super().__init__(
name="firecrawl_scrape",
description="Scrape a website and return the markdownified version of the content",
inputSchema={
"type": "object",
"properties": {
"url": {"type": "string", "description": "The URL to scrape"}
}
}
)
def __call__(self, url: str):
try:
if not url:
return "Error: URL parameter is required"
app = FirecrawlApp(api_key=os.getenv("FIRECRAWL_API_KEY"))
scrape_result = app.scrape_url(url, formats=['markdown', 'html'])
return scrape_result["data"]["markdown"]
except Exception as e:
return f"Error scraping URL: {str(e)}"