Scrapegraph-ai/scrapegraphai/graphs
MrAliHasan 9d4eba1f15 feat: add OpenAI Batch API support for SmartScraperMultiGraph (#1036)
Add SmartScraperMultiBatchGraph that uses the OpenAI Batch API for LLM
calls, providing ~50% cost savings when real-time results aren't needed.

Key features:
- SmartScraperMultiBatchGraph: 3-phase pipeline (fetch/parse → batch
  submit → merge) that separates HTML fetching from LLM generation
- BatchGenerateAnswerNode: collects prompts from all URLs and submits
  them as a single OpenAI Batch API request
- utils/batch_api.py: helpers for creating, polling, and retrieving
  batch results with doc_id → URL mapping
- Per-document error handling: partial failures don't break the batch
- Configurable polling interval and max wait time
- OpenAI-only validation (rejects non-OpenAI providers gracefully)
- Results sorted by custom_id for consistent ordering
- 18 unit tests with 100% pass rate

Usage:
  graph = SmartScraperMultiBatchGraph(
      prompt='Extract key points',
      source=['https://url1.com', 'https://url2.com'],
      config={'llm': {'model': 'openai/gpt-4o-mini'}}
  )
  result = graph.run()

Closes #1036
2026-02-21 03:17:15 +05:00
..
__init__.py feat: add OpenAI Batch API support for SmartScraperMultiGraph (#1036) 2026-02-21 03:17:15 +05:00
abstract_graph.py feat: add new oss link 2025-06-21 13:09:47 +02:00
base_graph.py feat: add new oss link 2025-06-21 13:09:47 +02:00
code_generator_graph.py fix: Schema parameter type 2025-01-15 21:28:43 +01:00
csv_scraper_graph.py fix: Schema parameter type 2025-01-15 21:28:43 +01:00
csv_scraper_multi_graph.py codebeaver/pre/beta-963 - . 2025-04-14 07:50:46 +00:00
depth_search_graph.py fix: Schema parameter type 2025-01-15 21:28:43 +01:00
document_scraper_graph.py fix: Schema parameter type 2025-01-15 21:28:43 +01:00
document_scraper_multi_graph.py fix: Schema parameter type 2025-01-15 21:28:43 +01:00
json_scraper_graph.py fix: Schema parameter type 2025-01-15 21:28:43 +01:00
json_scraper_multi_graph.py codebeaver/pre/beta-963 - . 2025-04-14 07:50:46 +00:00
markdownify_graph.py feat: add markdownify endpoint 2025-06-13 12:41:21 +02:00
omni_scraper_graph.py fix: Schema parameter type 2025-01-15 21:28:43 +01:00
omni_search_graph.py codebeaver/pre/beta-963 - . 2025-04-14 07:50:46 +00:00
screenshot_scraper_graph.py fix: Schema parameter type 2025-01-15 21:28:43 +01:00
script_creator_graph.py fix: Schema parameter type 2025-01-15 21:28:43 +01:00
script_creator_multi_graph.py codebeaver/pre/beta-963 - . 2025-04-14 07:50:46 +00:00
search_graph.py fix: Schema parameter type 2025-01-15 21:28:43 +01:00
search_link_graph.py fix: filter links 2025-02-13 12:37:56 +01:00
smart_scraper_graph.py fix: Schema parameter type 2025-01-15 21:28:43 +01:00
smart_scraper_lite_graph.py fix: Schema parameter type 2025-01-15 21:28:43 +01:00
smart_scraper_multi_batch_graph.py feat: add OpenAI Batch API support for SmartScraperMultiGraph (#1036) 2026-02-21 03:17:15 +05:00
smart_scraper_multi_concat_graph.py codebeaver/pre/beta-963 - . 2025-04-14 07:50:46 +00:00
smart_scraper_multi_graph.py codebeaver/pre/beta-963 - . 2025-04-14 07:50:46 +00:00
smart_scraper_multi_lite_graph.py codebeaver/pre/beta-963 - . 2025-04-14 07:50:46 +00:00
speech_graph.py fix: Schema parameter type 2025-01-15 21:28:43 +01:00
xml_scraper_graph.py fix: Schema parameter type 2025-01-15 21:28:43 +01:00
xml_scraper_multi_graph.py codebeaver/pre/beta-963 - . 2025-04-14 07:50:46 +00:00