
Security News
n8n Tops 2025 JavaScript Rising Stars as Workflow Platforms Gain Momentum
n8n led JavaScript Rising Stars 2025 by a wide margin, with workflow platforms seeing the largest growth across categories.
ForeverTools.ScraperAPI
Advanced tools
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.
Lightweight ScraperAPI client for .NET. Scrape any website without getting blocked - automatic proxy rotation, CAPTCHA solving, and JavaScript rendering.
dotnet add package ForeverTools.ScraperAPI
Sign up at ScraperAPI to get your API key with 5,000 free credits.
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");
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);
}
// 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);
// 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);
}
var account = await client.GetAccountInfoAsync();
Console.WriteLine($"Credits remaining: {account.RemainingCredits}");
Console.WriteLine($"Concurrent limit: {account.ConcurrencyLimit}");
// 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);
}
}
// Uses SCRAPERAPI_KEY by default
var client = ScraperApiClient.FromEnvironment();
// Or specify custom variable name
var client = ScraperApiClient.FromEnvironment("MY_SCRAPER_KEY");
| Option | Description | Credits |
|---|---|---|
| Basic scrape | Default HTML scraping | 1 |
RenderJavaScript | Execute JavaScript | +10 |
Screenshot | Capture page screenshot | +10 |
Premium | Residential/mobile proxies | +10 |
UltraPremium | Advanced bypass | +30 |
CountryCode | Geo-targeting | +0 |
SessionNumber | Sticky sessions | +0 |
AutoParse | Structured JSON output | +0 |
Common codes: us, uk, de, fr, es, it, br, ca, au, jp, in
Full list of supported countries
ScraperAPI handles the hard parts of web scraping:
If you need standalone proxy access without the scraping features, check out BrightData - the industry leader in proxy services:
| Proxy Type | Best For | Link |
|---|---|---|
| Residential Proxies | General scraping, geo-targeting | Get Started |
| ISP Proxies | High-speed, stable connections | Get Started |
| Social Media Proxies | Instagram, Facebook, TikTok automation | Get Started |
| SERP API | Search engine scraping | Get Started |
MIT License - see LICENSE for details.
FAQs
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.
We found that forevertools.scraperapi demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Security News
n8n led JavaScript Rising Stars 2025 by a wide margin, with workflow platforms seeing the largest growth across categories.

Security News
The U.S. government is rolling back software supply chain mandates, shifting from mandatory SBOMs and attestations to a risk-based approach.

Security News
crates.io adds a Security tab backed by RustSec advisories and narrows trusted publishing paths to reduce common CI publishing risks.