ASP.NET Core Spam Protection
Stop .NET Form Spam Without CAPTCHAs
Your ASP.NET Core forms deserve better than CAPTCHAs and honeypots. ActiveLayer analyzes content, email, and IP server.side and returns a spam verdict in milliseconds. One HTTP call from your controller or middleware. Your forms stay clean, your UX stays frictionless, and every real submission gets through.
✓ Millisecond response time
✓ 99.5%+ accuracy
✓ Zero CAPTCHAs
✓ 1,000 checks for free
Built by the same team whose software is trusted by 30,000,000+ websites worldwide.

Everything You Need to Eliminate Spam in ASP.NET Core
No NuGet packages to configure. No frontend scripts to load. Just a clean API that fits the way you already build.
IHttpClientFactory
Use the factory pattern you already know. Register a named or typed client in `Program.cs`, inject it into your services, and call the ActiveLayer API with full connection pooling and resilience.
Middleware Pipeline
Protect entire endpoint groups with a single middleware component. Slot spam protection into your request pipeline alongside authentication, CORS, and rate limiting without touching controller logic.
Action Filters
Add spam checking as a reusable action filter attribute. Decorate any controller or action method with `[CheckSpam]` and keep your business logic clean. Works with both MVC and API controllers.
Zero CAPTCHAs
Entirely server.side. Your users never see a puzzle, a checkbox, or a challenge. Your Razor views and Blazor components stay clean.
Millisecond Speed
Spam verdicts return faster than most Entity Framework queries. Form submissions process without delay. Your app stays fast.
Dependency Injection
Register ActiveLayer as a typed service in your DI container. Inject it anywhere you need spam protection. Follows the same patterns as every other .NET service you use.
Blazor Support
Works with Blazor Server and Blazor WebAssembly. Call the API from your server.side component logic or through your API layer. No JavaScript interop required.
Minimal API Support
Building with minimal APIs? Call ActiveLayer directly from your endpoint delegates or attach it as an endpoint filter. Clean, concise, and fully async.
Automatic Fallbacks
If ActiveLayer is unreachable, submissions pass through normally. Your application never breaks because of spam protection. Configure timeout and retry policies with Polly.
Protected in 3 Steps. Just Code You Already Write.
From API key to spam.free forms in under ten minutes.
1
Get Your API Key
Create a free ActiveLayer account and copy your API key. Add it to your `appsettings.json` and register a typed HttpClient in `Program.cs`. Standard ASP.NET Core configuration.
2
Add the Spam Check to Your Controller
Call the ActiveLayer API from your controller using IHttpClientFactory. One POST request. One response. No packages to install.
3
Or Use Middleware for Pipeline.Level Protection
Prefer keeping controllers clean? Create a middleware component that checks every form submission on protected routes. Register it in your pipeline and apply it globally or to specific endpoint groups.
Why .NET Developers Choose ActiveLayer
Your code stays clean. Your users stay happy. Your spam disappears.
Honeypots Catch Bots. ActiveLayer Catches Everything.
Hidden form fields catch basic bots, but modern spam tools use headless browsers and AI-generated content that fills in exactly the right fields and skips the hidden ones. ActiveLayer analyzes actual content, email reputation, and IP signals using machine learning — catching sophisticated spam that honeypots and regex filters miss. No frontend changes, no JavaScript, no puzzles. Just better detection running server-side in your ASP.NET Core pipeline.


Faster Than Your Average Entity Framework Query
reCAPTCHA loads 300KB+ of JavaScript on every page, adding seconds to load time and tanking your Lighthouse scores. ActiveLayer loads nothing on the frontend — zero JavaScript, zero cookies, zero impact on page speed. The spam check happens server-side at submit time and returns in milliseconds. Your Core Web Vitals stay intact and your users never notice it’s there.
Controllers. Middleware. Action Filters. Your Choice.
ActiveLayer is a simple REST API that works with every pattern in your ASP.NET Core toolbox. Call it from a controller action, wrap it in middleware for pipeline-level protection, apply it as an action filter, or use IHttpClientFactory and Polly for resilient HTTP calls. No package lock-in, no custom tag helpers, no framework magic. Just an HTTP call that returns JSON, written exactly how you want it.


From Awesome Motive. Trusted by 30 Million Websites.
ActiveLayer is built by Awesome Motive, the team behind WPForms, AIOSEO, MonsterInsights, OptinMonster, and 20+ products serving 30 million websites. Processing billions of form submissions a year, this is spam protection built by engineers who have solved this problem for over a decade — not a side project or startup experiment. Enterprise-grade reliability with a developer-friendly API, now available as a standalone service for your .NET applications.
Frequently Asked Questions
Have questions about ActiveLayer for ASP.NET Core? We’ve got answers.
Yes. For Blazor Server, call the ActiveLayer API directly from your component code.behind or a service class since your C# code runs on the server. For Blazor WebAssembly, route your form submissions through an API controller or minimal API endpoint on your server, then call ActiveLayer from that endpoint. The spam check always happens server.side, never in the browser. No JavaScript interop required for either hosting model.
Yes. Call the ActiveLayer API directly from your endpoint delegate using an injected HttpClient. You can also create an endpoint filter that applies spam checking before your handler runs. Both approaches are fully async and work with the same IHttpClientFactory registration you use for controllers.
Yes. ActiveLayer is a standard REST API call over HTTPS. It works in Azure Functions, AWS Lambda with .NET, Azure Container Apps, and any serverless environment that supports outbound HTTP. Register IHttpClientFactory in your function’s startup configuration and call the API the same way. No filesystem dependencies. No background processes. Just an HTTP call.
Register a named or typed HttpClient in `Program.cs` with the base address and authorization header preconfigured. This gives you automatic connection pooling, DNS rotation, and proper socket management. Never create `new HttpClient()` directly in your controllers. For added resilience, add Polly retry and circuit breaker policies through the `Microsoft.Extensions.Http.Polly` package.
ActiveLayer is a REST API, so you don’t need a dedicated NuGet package. Use the built.in `System.Net.Http.Json` and `IHttpClientFactory` that ship with ASP.NET Core. No third.party dependencies required. If you prefer a typed client wrapper, you can create a simple service class in your project and register it in DI. This keeps your integration lightweight with zero external package risk.
reCAPTCHA requires frontend JavaScript, client.side rendering, and server.side token verification. It adds 300KB+ to your page, introduces a Google dependency, and creates friction for users. ActiveLayer is entirely server.side. No JavaScript. No cookies. No frontend changes. One HTTP POST from your C# code, and you get a spam verdict in milliseconds. Your Razor pages and Blazor components stay clean. Your users never see a challenge.
Your application continues working normally. Set a timeout on your HttpClient call and handle the failure gracefully with a try/catch or Polly fallback policy. If ActiveLayer doesn’t respond, let the submission through. Your forms never break because of spam protection. The API has 99.9%+ uptime, but your code should always handle the edge case. IHttpClientFactory and Polly make this easy to configure.
Yes. 1,000 spam checks per month, no credit card required. Full API access with no feature restrictions. When you need more, upgrade to Pro at $19/month for 25,000 checks. One API key works across unlimited sites and applications.
