Tavily API Limitation: Cannot Extract JavaScript-Loaded Images

Resolved 💬 2 comments Opened Sep 9, 2025 by stephaniegoldman12 Closed Sep 9, 2025

Issue Description

The Tavily Extract API has a significant limitation when extracting images from websites that load content dynamically via JavaScript. This affects our ability to retrieve complete image data from many modern websites.

Key Findings

Example Case: Team Member Images

When attempting to extract team member images from websites:

  1. Limited Image Extraction: Tavily only extracted 5 images from a page containing dozens of team members
  2. Blob URLs Instead of Real URLs: Most images show as blob URLs (e.g., blob:http://localhost/e6014c5497464ee7ccc5302b229e27a9)
  3. Partial Success: Only the first 4-5 images (typically in static HTML) have real HTTPS URLs

Technical Details

  • 228+ images on the page use blob URLs - these are browser-generated temporary references
  • Blob URLs only exist in the client's browser memory and cannot be accessed externally
  • The website uses JavaScript to dynamically load images (likely for performance/security reasons)
  • Tavily Extract doesn't execute JavaScript - it only reads static HTML

Why This Matters

This limitation means we cannot reliably extract images from:

  • Team/staff pages
  • Product galleries
  • Dynamic content sections
  • Any website using lazy loading or JavaScript-based image rendering

Current Impact

When using the web_extract_tool with include_images=True, the model correctly implements the feature but cannot provide actual image URLs for JavaScript-loaded content. This results in incomplete data extraction despite correct tool usage.

Potential Solutions

To properly extract all images, we would need one of the following:

  1. Headless Browser Integration: Use Playwright/Puppeteer to execute JavaScript before extraction
  2. API Discovery: Find and use the website's image API endpoints directly
  3. Pattern Recognition: Check if images follow predictable URL patterns that can be reconstructed

Reference

See the relevant JSON response data demonstrating this issue (team member images showing as blob URLs while only static images have real URLs).

Recommendation

Consider implementing a JavaScript-capable extraction option or documenting this limitation clearly in the API documentation to set proper expectations for users.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗