API · /nsfw-api

NSFW Detection API

degraded 3,363 Subscribers

Moderate images automatically with on-device machine learning. Classify any image across five categories — neutral, drawing, sexy, porn and hentai — and receive per-class probabilities, the top class, a combined NSFW score and a clear verdict (safe, questionable or nsfw). A simpler check endpoint returns a single safe/unsafe decision against a threshold you choose, ideal for upload gates and user-generated-content pipelines. Supply an image by public URL, base64 or a raw binary request body; only public http/https URLs are accepted and private or internal hosts are blocked, and large images are downscaled automatically. Runs locally on TensorFlow (NSFWJS / MobileNetV2) — no third-party upstream and no per-image cloud cost — with a warm model that keeps inference fast. Ideal for community platforms, marketplaces, dating and chat apps, and any service that accepts user images.

api.oanor.com/nsfw-api
Get an API key Try in playground → Contact provider

Machine-readable spec so AI agents can integrate this API.

/api/nsfw-api/openapi.json
/api/nsfw-api/llms.txt

Discovery: GET /api/index.json lists every API.

API health

degraded
Uptime
50.00%
Server probes · 24h
Avg latency
112 ms
Server probes · 24h
Subscribers
3,363
active
Total calls
16
last 7 days
status Full status page → · 16 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 3,000 calls / month
  • 1 requests / second
  • Hard cap (429 above quota, no overage)
  • 3,000 calls/month, 1 req/s
  • 5-class NSFW classification + safe/unsafe verdict
  • No credit card
Sign in to subscribe

Basic

€13.50 /month

  • 45,000 calls / month
  • 5 requests / second
  • Hard cap (429 above quota, no overage)
  • 45,000 requests/month, 5 req/s
  • Full classify + threshold check, URL/base64/binary input
  • Commercial use included
  • Email support
Sign in to subscribe

Pro

€37.00 /month

  • 300,000 calls / month
  • 20 requests / second
  • Hard cap (429 above quota, no overage)
  • 300,000 requests/month, 20 req/s
  • High throughput for UGC moderation pipelines
  • Priority email support
  • Commercial use allowed
Sign in to subscribe

Mega

€94.00 /month

  • 1,400,000 calls / month
  • 60 requests / second
  • Hard cap (429 above quota, no overage)
  • 1,400,000 requests/month, 60 req/s
  • Highest throughput for production content safety at scale
  • Priority support
  • Commercial use allowed
Sign in to subscribe

Built by

Related APIs

Other APIs with overlapping tags.

Placeholder API

A fast, fully-local SVG generator for mockups and UIs: placeholder images (a sized rectangle with centered text and automatic contrast), initials avatars (with a deterministic colour derived from the name, in a circle or square), and identicon-style symmetric patterns generated deterministically from any seed. Every endpoint returns the JSON envelope or, with raw=1, the raw SVG so the URL can be used directly as an image source. Pure server-side compute, no third-party upstream, so responses are instant and always available. Ideal for prototypes, dashboards, user avatars, empty states and design systems.

api.oanor.com/placeholder-api

Image API

Inspect image metadata (dimensions, format, size, colour space, transparency) and resize or convert images between JPEG, PNG, WebP and AVIF straight from a URL. Perfect for thumbnails, format optimisation and on-the-fly image transforms.

api.oanor.com/image-api

QR Code API

Generate QR codes on demand as a base64 PNG, an SVG, or a raw embeddable image. Customise size, quiet-zone margin, error-correction level and foreground/background colors. Encode URLs, text, Wi-Fi, vCards and more.

api.oanor.com/qr-api

Face Detection API

Detect human faces in an image and analyse each one with on-device machine learning: get the bounding box and a detection confidence, an estimated age, the predicted gender with its probability, and the dominant facial expression together with the full per-expression breakdown (neutral, happy, sad, angry, fearful, disgusted and surprised). A lightweight count endpoint returns just the number of faces and their boxes for fast gating. Supply an image by public URL, base64 or a raw binary request body; only public http/https URLs are accepted and private or internal hosts are blocked, and large images are downscaled automatically. Runs locally on TensorFlow (face-api) — no third-party upstream and no per-image cloud cost — with warm models that keep inference fast. Ideal for photo and avatar apps, audience analytics, smart cameras, auto-cropping and accessibility.

api.oanor.com/facedetect-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

How do I get an API key for NSFW Detection API?
Sign up for free at oanor.com, generate an API key from the developer dashboard, and call NSFW Detection API with the x-oanor-key header. No credit card needed for the free tier.
What's the rate limit for NSFW Detection API?
Free tier allows 1 request per second. Paid plans scale up to 50 requests per second on the Mega tier. Hard limits return HTTP 429 above the quota — no surprise overage charges.
How much does NSFW Detection API cost?
NSFW Detection API has a free tier with 100 calls / month. Paid plans start at €13.50 / month with higher quotas and faster rate limits.
Can I cancel my subscription anytime?
Yes. Plans are billed monthly and you can cancel anytime from your billing dashboard. No long-term contracts and no cancellation fee.
Is NSFW Detection API GDPR-compliant?
All requests to NSFW Detection API go through our EU-based gateway. Your upstream API key never leaves our server and no personal data is shared with the upstream provider beyond the request you send.

Pick an endpoint from the list on the left to see its details and try it.

Code snippets

Sign up to get an API key, then call any path under your slug.

curl https://api.oanor.com/nsfw-api/SOME_PATH \
  -H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/nsfw-api/SOME_PATH", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/nsfw-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
    "https://api.oanor.com/nsfw-api/SOME_PATH",
    headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())

Ratings

Sign in to rate.

No reviews yet.

Discussion

Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.

Sign in to start a thread or reply.

Sign in

New thread

/ 4000

📌 Pinned 🔒 Locked

·

· ·

/ 4000

🔒 This thread is locked — no new replies.

  • No threads yet — start the discussion.

Support

Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.

Sign in to open a support ticket.

Sign in

Open new ticket

Describe what you need help with. The provider team gets an email and replies on the ticket page.

  • No tickets yet for this API.

Subscription active — calls can start immediately.

Send your first request —

Subscription active — copy a snippet and fire off your first call.