Latest Socket ResearchMalicious Chrome Extension Performs Hidden Affiliate Hijacking.Details
Socket
Book a DemoInstallSign in
Socket

ForeverTools.ScraperAPI

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ForeverTools.ScraperAPI

Lightweight ScraperAPI client for .NET. Web scraping with automatic proxy rotation, CAPTCHA solving, and JavaScript rendering. Scrape any website without getting blocked. Features: async scraping, screenshots, country targeting, session management, auto-parsing, structured data extraction.

Source
nugetNuGet
Version
1.0.1
Version published
Maintainers
1
Created
Source

ForeverTools.ScraperAPI

Lightweight ScraperAPI client for .NET. Scrape any website without getting blocked - automatic proxy rotation, CAPTCHA solving, and JavaScript rendering.

NuGet

Features

  • Simple Scraping - One line to scrape any URL
  • JavaScript Rendering - Scrape SPAs and dynamic content
  • Screenshots - Capture full page screenshots
  • Geo-Targeting - Scrape from specific countries
  • Premium Proxies - Residential and mobile IPs
  • Async Jobs - Background scraping for large batches
  • Auto-Parse - Get structured JSON from popular sites
  • ASP.NET Core Ready - Built-in dependency injection
  • Multi-Target - .NET 8, .NET 6, .NET Standard 2.0

Quick Start

Install

dotnet add package ForeverTools.ScraperAPI

Get Your API Key

Sign up at ScraperAPI to get your API key with 5,000 free credits.

Basic Usage

using ForeverTools.ScraperAPI;

var client = new ScraperApiClient("your-api-key");

// Simple scrape
var html = await client.ScrapeAsync("https://example.com");

// With JavaScript rendering (for SPAs)
var rendered = await client.ScrapeWithJavaScriptAsync("https://spa-example.com");

// From a specific country
var usContent = await client.ScrapeFromCountryAsync("https://example.com", "us");

Advanced Usage

Full Request Configuration

var request = new ScrapeRequest
{
    Url = "https://example.com",
    RenderJavaScript = true,
    CountryCode = "us",
    Premium = true,
    DeviceType = DeviceTypes.Mobile,
    AutoParse = true
};

var response = await client.ScrapeWithResponseAsync(request);

if (response.Success)
{
    Console.WriteLine($"Status: {response.StatusCode}");
    Console.WriteLine(response.Content);
}

Screenshots

// Get screenshot as base64
var base64 = await client.TakeScreenshotAsync("https://example.com");

// Get screenshot as bytes (for saving to file)
var bytes = await client.TakeScreenshotBytesAsync("https://example.com");
File.WriteAllBytes("screenshot.png", bytes);

Async Jobs (Background Scraping)

// Submit job and wait for completion
var response = await client.ScrapeAsyncAndWaitAsync(new ScrapeRequest
{
    Url = "https://example.com",
    RenderJavaScript = true
});

// Or manage jobs manually
var job = await client.SubmitAsyncJobAsync(request);
Console.WriteLine($"Job ID: {job.Id}");

// Check status later
var status = await client.GetAsyncJobStatusAsync(job.Id);
if (status.IsFinished)
{
    Console.WriteLine(status.Response.Body);
}

Check Account Credits

var account = await client.GetAccountInfoAsync();
Console.WriteLine($"Credits remaining: {account.RemainingCredits}");
Console.WriteLine($"Concurrent limit: {account.ConcurrencyLimit}");

ASP.NET Core Integration

// Program.cs
builder.Services.AddForeverToolsScraperApi("your-api-key");

// Or with full configuration
builder.Services.AddForeverToolsScraperApi(options =>
{
    options.ApiKey = "your-api-key";
    options.DefaultRenderJavaScript = true;
    options.DefaultCountryCode = "us";
    options.TimeoutSeconds = 90;
});

// Or from appsettings.json
builder.Services.AddForeverToolsScraperApi(builder.Configuration);
// appsettings.json
{
  "ScraperAPI": {
    "ApiKey": "your-api-key",
    "DefaultRenderJavaScript": true,
    "DefaultCountryCode": "us"
  }
}
// Inject and use
public class PriceScraperService
{
    private readonly ScraperApiClient _scraper;

    public PriceScraperService(ScraperApiClient scraper)
    {
        _scraper = scraper;
    }

    public async Task<string> GetProductPageAsync(string url)
    {
        return await _scraper.ScrapeWithJavaScriptAsync(url);
    }
}

Environment Variables

// Uses SCRAPERAPI_KEY by default
var client = ScraperApiClient.FromEnvironment();

// Or specify custom variable name
var client = ScraperApiClient.FromEnvironment("MY_SCRAPER_KEY");

Request Options

OptionDescriptionCredits
Basic scrapeDefault HTML scraping1
RenderJavaScriptExecute JavaScript+10
ScreenshotCapture page screenshot+10
PremiumResidential/mobile proxies+10
UltraPremiumAdvanced bypass+30
CountryCodeGeo-targeting+0
SessionNumberSticky sessions+0
AutoParseStructured JSON output+0

Country Codes

Common codes: us, uk, de, fr, es, it, br, ca, au, jp, in

Full list of supported countries

Why ScraperAPI?

ScraperAPI handles the hard parts of web scraping:

  • 40M+ proxies - Automatic rotation, never get blocked
  • CAPTCHA solving - Built-in, no extra setup
  • JavaScript rendering - Scrape SPAs and dynamic sites
  • 99.9% uptime - Reliable infrastructure
  • Simple pricing - Pay per successful request

Need Just Proxies?

If you need standalone proxy access without the scraping features, check out BrightData - the industry leader in proxy services:

Proxy TypeBest ForLink
Residential ProxiesGeneral scraping, geo-targetingGet Started
ISP ProxiesHigh-speed, stable connectionsGet Started
Social Media ProxiesInstagram, Facebook, TikTok automationGet Started
SERP APISearch engine scrapingGet Started

Other ForeverTools Packages

PackageDescriptionNuGet
ForeverTools.AIMLAccess 400+ AI models (GPT-4, Claude, Llama, Gemini, DALL-E)NuGet
ForeverTools.APILayerIP geolocation, currency exchange, phone & email validationNuGet
ForeverTools.CaptchaMulti-provider captcha solving (2Captcha, CapSolver, Anti-Captcha)NuGet
ForeverTools.ImageGenAI image generation with social media presets (DALL-E, Flux, SD)NuGet
ForeverTools.OCRAI-powered OCR using GPT-4 Vision, Claude 3, and GeminiNuGet
ForeverTools.PostmarkTransactional email sending with templates and trackingNuGet
ForeverTools.ProxyPremium proxy rotation with BrightData (Residential, ISP, Mobile)NuGet
ForeverTools.STTSpeech-to-Text using Whisper (transcription, subtitles, language detection)NuGet
ForeverTools.TranslateAI-powered translation with 100+ languages (GPT-4, Claude)NuGet

Requirements

  • .NET 8.0, .NET 6.0, or .NET Standard 2.0 compatible framework
  • ScraperAPI account with API key

License

MIT License - see LICENSE for details.

Keywords

scraperapi

FAQs

Package last updated on 14 Dec 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts