Skip to content
View ForeverTools's full-sized avatar

Block or report ForeverTools

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ForeverTools/README.md

ForeverTools

.NET wrapper libraries for popular third-party APIs. Clean interfaces, dependency injection ready, available on NuGet.

Packages

Package Description NuGet
ForeverTools.AIML Access 400+ AI models (GPT-4, Claude, Llama, Gemini, DALL-E, Stable Diffusion) NuGet
ForeverTools.APILayer IP geolocation, currency exchange, phone & email validation NuGet
ForeverTools.Captcha Multi-provider captcha solving (2Captcha, CapSolver, Anti-Captcha) NuGet
ForeverTools.ImageGen AI image generation with social media presets (DALL-E, Flux, SD) NuGet
ForeverTools.OCR AI-powered OCR using GPT-4 Vision, Claude 3, and Gemini NuGet
ForeverTools.Postmark Transactional email sending with templates and tracking NuGet
ForeverTools.Proxy Premium proxy rotation with BrightData (Residential, ISP, Mobile) NuGet
ForeverTools.ScraperAPI Web scraping with proxy rotation and CAPTCHA bypass NuGet
ForeverTools.STT Speech-to-Text using Whisper (transcription, subtitles) NuGet
ForeverTools.Summarize AI-powered text summarization (TL;DR, bullet points, executive) NuGet
ForeverTools.Translate AI-powered translation with 100+ languages (GPT-4, Claude) NuGet
ForeverTools.Apify Web scraping platform with 1,600+ actors NuGet

Coming Soon

Package Description
ForeverTools.Sentiment AI sentiment analysis with emotion detection (Positive/Negative/Neutral + 6 emotions)
ForeverTools.TTS Text-to-Speech synthesis with 30+ voices via AI/ML API
ForeverTools.InvoiceParser AI-powered invoice and receipt data extraction (vendor, totals, line items)
ForeverTools.ContentMod AI content moderation — toxicity, hate speech, adult content detection
ForeverTools.CodeGen AI code generation, refactoring, and explanation
ForeverTools.EmailAI AI email composition, reply drafting, summarization, and classification

Premium Proxy Providers

Need high-quality proxies for scraping or automation? Check out BrightData - the industry leader:

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

Installation

All packages are available on NuGet:

# AI/ML (400+ AI models)
dotnet add package ForeverTools.AIML

# API utilities (IP geolocation, currency, phone, email validation)
dotnet add package ForeverTools.APILayer

# Captcha solving (reCAPTCHA, hCaptcha, Turnstile)
dotnet add package ForeverTools.Captcha

# OCR (AI-powered text extraction)
dotnet add package ForeverTools.OCR

# Transactional email (Postmark)
dotnet add package ForeverTools.Postmark

# Web scraping (ScraperAPI)
dotnet add package ForeverTools.ScraperAPI

# AI Image generation (DALL-E, Stable Diffusion, Flux)
dotnet add package ForeverTools.ImageGen

# Premium proxy rotation (BrightData)
dotnet add package ForeverTools.Proxy

# AI Translation (100+ languages)
dotnet add package ForeverTools.Translate

# AI Summarization (TL;DR, bullet points, executive summaries)
dotnet add package ForeverTools.Summarize

# Speech-to-Text (Whisper transcription)
dotnet add package ForeverTools.STT

# Web scraping with Apify (1,600+ actors)
dotnet add package ForeverTools.Apify

Quick Examples

AI/ML API

using ForeverTools.AIML;

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

// Chat with GPT-4, Claude, Llama, etc.
var response = await client.ChatAsync("What is the capital of France?");

// Generate images with DALL-E, Stable Diffusion, Flux
var imageUrl = await client.GenerateImageAsync("A sunset over mountains");

// Get embeddings for RAG/search
var vector = await client.EmbedAsync("Hello world");

APILayer (IP, Currency, Phone, Email)

using ForeverTools.APILayer;

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

// IP Geolocation
var geo = await client.GetIpGeolocationAsync("8.8.8.8");
Console.WriteLine($"Country: {geo.Data.CountryName}, City: {geo.Data.City}");

// Currency conversion
var convert = await client.ConvertCurrencyAsync("USD", "EUR", 100);
Console.WriteLine($"100 USD = {convert.Data.Result} EUR");

// Phone validation
var phone = await client.ValidatePhoneAsync("+14155552671");
Console.WriteLine($"Valid: {phone.Data.Valid}, Carrier: {phone.Data.Carrier}");

// Email validation
var email = await client.ValidateEmailAsync("test@example.com");
Console.WriteLine($"Deliverable: {email.Data.IsDeliverable}");

Captcha Solving

using ForeverTools.Captcha;

// Use your preferred provider
var client = CaptchaClient.For2Captcha("your-api-key");
// or: CaptchaClient.ForCapSolver("your-api-key");
// or: CaptchaClient.ForAntiCaptcha("your-api-key");

// Solve reCAPTCHA v2
var result = await client.SolveReCaptchaV2Async(
    "https://example.com",
    "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
);

if (result.Success)
{
    Console.WriteLine($"Token: {result.Solution}");
}

// Also supports: reCAPTCHA v3, hCaptcha, Turnstile, FunCaptcha, Image

OCR (AI-Powered Text Extraction)

using ForeverTools.OCR;

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

// Extract text from an image file
var result = await client.ExtractTextFromFileAsync("document.jpg");
Console.WriteLine(result.Text);

// Extract structured data (JSON output)
var structured = await client.ExtractStructuredAsync(imageBytes, "image/png");

// Extract tables from images
var tables = await client.ExtractTablesAsync(imageBytes, "image/png");
foreach (var table in tables.Tables)
{
    Console.WriteLine(table.ToCsv());
}

// Also supports: form fields, receipts, URLs, custom prompts

Postmark Email

using ForeverTools.Postmark;

var client = new PostmarkClient("your-server-token");

// Send an email
var result = await client.SendEmailAsync(
    to: "recipient@example.com",
    subject: "Hello from Postmark!",
    htmlBody: "<h1>Welcome!</h1><p>This is a test email.</p>",
    from: "sender@yourdomain.com"
);

if (result.Success)
{
    Console.WriteLine($"Sent! Message ID: {result.MessageId}");
}

// Also supports: batch sending, templates, attachments, bounce tracking

Web Scraping

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-site.com");

// Take a screenshot
var screenshot = await client.TakeScreenshotBytesAsync("https://example.com");

// Also supports: geo-targeting, premium proxies, async jobs, auto-parsing

AI Image Generation

using ForeverTools.ImageGen;

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

// Generate an image
var image = await client.GenerateAsync("A sunset over mountains");
await client.SaveAsync(image, "sunset.png");

// Social media presets - perfectly sized for each platform
var instagram = await client.GenerateForInstagramAsync("Coffee shop aesthetic");
var youtube = await client.GenerateForYouTubeAsync("SHOCKING Discovery!", ImageStyle.Cinematic);
var linkedin = await client.GenerateForLinkedInAsync("Professional headshot", ImageStyle.Corporate);

// Also supports: Twitter, Facebook, Pinterest, TikTok, Blog headers, Open Graph

Premium Proxies (BrightData)

using ForeverTools.Proxy;

var client = new BrightDataClient("customer-id", "zone", "password");

// Create an HttpClient with proxy
using var httpClient = client.CreateHttpClient();
var html = await httpClient.GetStringAsync("https://example.com");

// Geo-targeting - browse from specific countries
using var usClient = client.CreateHttpClientForCountry("us");
using var ukClient = client.CreateHttpClientForCountry("gb");

// Sticky sessions - same IP across requests
using var session = client.CreateSession();
using var sessionClient = session.CreateHttpClient();

// Also supports: Residential, Datacenter, ISP, Mobile proxies

AI Translation

using ForeverTools.Translate;

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

// Translate to Spanish (auto-detect source)
var spanish = await client.TranslateAsync("Hello, how are you?", "es");
// "Hola, ¿cómo estás?"

// Translate to English
var english = await client.TranslateToEnglishAsync("Bonjour le monde");
// "Hello world"

// Detect language
var detected = await client.DetectLanguageAsync("Guten Tag");
Console.WriteLine($"Language: {detected.LanguageName}"); // German

// Batch translation
var texts = new[] { "Hello", "Goodbye", "Thank you" };
var results = await client.TranslateBatchAsync(texts, "es");

// Also supports: custom glossaries, translation styles, context-aware translation

AI Summarization

using ForeverTools.Summarize;

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

// Simple summarization
var summary = await client.SummarizeAsync(longArticle);

// TL;DR - very brief
var tldr = await client.TldrAsync(longArticle);

// Bullet points
var bullets = await client.BulletPointsAsync(longArticle);

// Executive summary (for business docs)
var executive = await client.ExecutiveSummaryAsync(businessReport);

// Extract key points
var keyPoints = await client.ExtractKeyPointsAsync(article, maxPoints: 10);

// Also supports: action items extraction, batch processing, domain-specific summaries

Speech-to-Text (Whisper)

using ForeverTools.STT;

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

// Transcribe audio file
var text = await client.TranscribeAsync("meeting.mp3");

// Generate subtitles
var srt = await client.TranscribeToSrtAsync("video.mp3");
var vtt = await client.TranscribeToVttAsync("video.mp3");

// Detect language
var detection = await client.DetectLanguageAsync("audio.mp3");

// Also supports: word-level timestamps, batch transcription, multiple models

Web Scraping with Apify

using ForeverTools.Apify;

var client = new ApifyClient("your-apify-token");

// Run a web scraper and get results
var results = await client.ScrapeAsync<Dictionary<string, object>>(
    "apify/web-scraper",
    new { startUrls = new[] { new { url = "https://example.com" } } });

// Scrape Amazon products
var products = await client.ScrapeAsync<AmazonProduct>(
    PopularActors.AmazonScraper,
    new { keyword = "laptop", maxItems = 100 });

// Also supports: 1,600+ actors, datasets, schedules, key-value stores

ASP.NET Core

// Program.cs
builder.Services.AddForeverToolsAiml("your-api-key");
builder.Services.AddForeverToolsApiLayer("your-api-key");
builder.Services.AddForeverToolsCaptcha(options =>
{
    options.TwoCaptchaApiKey = "your-2captcha-key";
    options.DefaultProvider = CaptchaProvider.TwoCaptcha;
});
builder.Services.AddForeverToolsOcr("your-aiml-api-key");
builder.Services.AddForeverToolsPostmark("your-server-token");
builder.Services.AddForeverToolsScraperApi("your-api-key");
builder.Services.AddForeverToolsImageGen("your-aiml-api-key");
builder.Services.AddForeverToolsProxy("customer-id", "zone", "password");
builder.Services.AddForeverToolsTranslation("your-aiml-api-key");
builder.Services.AddForeverToolsSummarize("your-aiml-api-key");
builder.Services.AddForeverToolsSTT("your-aiml-api-key");
builder.Services.AddForeverToolsApify("your-apify-token");

// Or from configuration
builder.Services.AddForeverToolsAiml(builder.Configuration);
builder.Services.AddForeverToolsApiLayer(builder.Configuration);
builder.Services.AddForeverToolsCaptcha(builder.Configuration);
builder.Services.AddForeverToolsOcr(builder.Configuration);
builder.Services.AddForeverToolsPostmark(builder.Configuration);
builder.Services.AddForeverToolsScraperApi(builder.Configuration);
builder.Services.AddForeverToolsImageGen(builder.Configuration);
builder.Services.AddForeverToolsProxy(builder.Configuration);
builder.Services.AddForeverToolsTranslation(builder.Configuration);
builder.Services.AddForeverToolsSummarize(builder.Configuration);
builder.Services.AddForeverToolsSTT(builder.Configuration);
builder.Services.AddForeverToolsApify(builder.Configuration);

Features

  • Modern .NET - Targets .NET 8, .NET 6, and .NET Standard 2.0
  • Async/await - All operations are async
  • Dependency Injection - Built-in IServiceCollection extensions
  • IntelliSense - Full XML documentation
  • Type-safe - Model constants, no magic strings

Links

License

MIT

Popular repositories Loading

  1. ForeverTools ForeverTools Public

    Clean, dependency-injection-ready .NET libraries for third-party APIs. One interface, multiple providers.

    C#

  2. kiprio-python kiprio-python Public

    Official Python SDK for the Kiprio API

    Python

  3. kiprio-redact kiprio-redact Public

    CLI for local PII redaction — email, phone, IBAN, card, and more. Powered by kiprio.com.

    Python

  4. public-apis public-apis Public

    Forked from public-apis/public-apis

    A collective list of free APIs

    Python

  5. public-api-lists public-api-lists Public

    Forked from public-api-lists/public-api-lists

    A curated list of free public APIs across 48 categories — searchable, community-maintained, with a free JSON API.

  6. Public-APIs-1 Public-APIs-1 Public

    Forked from n0shake/Public-APIs

    📚 A public list of APIs from round the web.