Magpie HTML - v0.1.3
    Preparing search index...

    Function pluck

    • Enhanced fetch for web scraping.

      Parameters

      • input: string | URL | Request

        URL string or Request object

      • Optionalinit: PluckInit

        Request options (extends standard RequestInit)

      Returns Promise<PluckResponse>

      Enhanced Response with additional metadata

      Drop-in replacement for fetch() with enhanced error handling, encoding detection, redirect tracking, and size limits. Perfect for scraping HTML, feeds, and APIs.

      Features:

      • Manual redirect tracking with full chain
      • Automatic encoding detection and UTF-8 conversion
      • Configurable timeouts and size limits
      • Smart default headers for web scraping
      • Content-Type validation
      • Comprehensive error types

      Request timeout

      Network or DNS error

      HTTP error status (4xx, 5xx)

      Too many redirects or loop

      Response too large

      Invalid encoding

      Invalid content type

      // Basic usage (works like fetch)
      const response = await pluck('https://example.com');
      const html = await response.text();

      // With enhancements
      console.log(response.redirectChain);
      console.log(response.detectedEncoding);
      console.log(response.timing);
      // With options
      const response = await pluck('https://example.com', {
      timeout: 60000,
      maxRedirects: 5,
      userAgent: 'MyBot/1.0',
      throwOnHttpError: true
      });