PII detection API

Detect PII in JSON before it reaches your logs

Send any record set and get back every field that contains personal data, typed and located, so you can redact or route it before it lands somewhere it shouldn't.

The problem

PII leaks into logs, analytics events, and support tickets the moment an unexpected field shows up. Regex-per-type checks are noisy and always one format away from a miss — and every false negative is a compliance incident waiting to happen.

What you get

  • Detects emails, phone numbers, names, and other common PII types
  • Returns the exact field and type for each finding, not just a yes/no
  • Feeds straight into redaction or a pass / block decision at ingestion
  • Deterministic output you can assert on in tests and audits

Call it in one request

Plain HTTPS and JSON against /api/v1/pii-detect. Use the SDK for typed calls, or hit the endpoint directly — same contract either way.

cURL
curl https://zapinner.com/api/v1/pii-detect \
  -H "Authorization: Bearer zap_live_••••••" \
  -H "Content-Type: application/json" \
  -d '{"data":[{"note":"reach me at jane@example.com or 555-123-4567"}]}'
JavaScript (fetch)
const res = await fetch("https://zapinner.com/api/v1/pii-detect", {
  method: "POST",
  headers: {
    Authorization: "Bearer zap_live_••••••",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "data": [
    {
      "note": "reach me at jane@example.com or 555-123-4567"
    }
  ]
}),
})
const data = await res.json()
@zapinner/sdk
import { Zapinner } from "@zapinner/sdk"

const zap = new Zapinner({ apiKey: process.env.ZAPINNER_API_KEY })

const result = await zap.piiDetect({
  "data": [
    {
      "note": "reach me at jane@example.com or 555-123-4567"
    }
  ]
})

Frequently asked

What kinds of PII does it detect?
Common identifiers found in application data — email addresses, phone numbers, personal names, and similar fields — reported with their type and location in the record.
Does the data get stored?
No. Detection runs on the request and returns findings in the response; Zapinner does not retain the record content you send for scanning.
Can I block requests that contain PII?
Yes — use the findings to reject or route a record at ingestion, or pair detection with redaction to strip the values and continue.

Related solutions

Ship it today with Zapinner

One API key, one consistent interface, 79 data capabilities. Start on the free plan — no credit card required.

Canonical: https://zapinner.com/solutions/detect-pii