Content Moderator to Content Safety: what changes before 15 March 2027

Last updated:

⏳ 161 days left — the old API shuts down March 15, 2027.

Microsoft points Content Moderator customers to Azure AI Content Safety, but it is not a new version of the same API. It uses a different endpoint (text:analyze), a different JSON body and a different taxonomy (Hate, Sexual, Violence and SelfHarm severities). PII, video and human review each move to a different Microsoft product, so every workflow needs its own migration decision (Microsoft migration guide).

Facts on this page were checked against the linked Microsoft Learn pages on October 4, 2026.

Which date? Microsoft gives two retirement dates:

Plan for the earlier date, and check the retirement notice for your own subscription.

If you would rather not rewrite the text-screening call before then, a wire-compatible Content Moderator replacement keeps ProcessText/Screen working with only a host and key change.

Where each Content Moderator feature goes

Content Moderator featureMicrosoft's replacementLike for like?
Text classification (Category1/2/3, ReviewRecommended)Content Safety text:analyze (Hate, Sexual, Violence, SelfHarm)No. New taxonomy and scale; re-tune thresholds.
Profanity terms and custom term listsContent Safety blocklists (up to 10,000 terms in total across all lists, per the blocklist guide; regex patterns supported)Partly. No built-in profanity list with offsets.
PII in textAzure AI Language PII detectionNo. A separate service and API.
Image moderationContent Safety image analysisNo. Different categories and response.
OCR on imagesAzure AI VisionNo. A separate service.
Face detectionAzure AI FaceNo. A separate service.
Video moderationNone. The guide says to extract frames and use the image API.No direct equivalent
Review API and human review toolContent Safety Studio (web-based monitoring)No. A different workflow.

Source: Microsoft's migration guide. Content Safety's free F0 tier includes 5,000 text records a month; a text record is up to 1,000 characters (pricing).

The two requests side by side

Content Moderator (retiring):

bash
curl -X POST "https://<region>.api.cognitive.microsoft.com/contentmoderator/moderate/v1.0/ProcessText/Screen?language=eng&classify=True&PII=True" \
  -H "Ocp-Apim-Subscription-Key: $KEY" -H "Content-Type: text/plain" \
  --data-binary 'Is this a crap email abcdef@abcd.com?'

Content Safety (Microsoft's replacement), per Microsoft's text quickstart:

bash
curl -X POST "<endpoint>/contentsafety/text:analyze?api-version=2024-09-01" \
  -H "Ocp-Apim-Subscription-Key: $KEY" -H "Content-Type: application/json" \
  -d '{"text": "Is this a crap email abcdef@abcd.com?", "categories": ["Hate", "Sexual", "SelfHarm", "Violence"], "outputType": "FourSeverityLevels"}'

Content Safety returns categoriesAnalysis (for example {"category": "Hate", "severity": 2}) and blocklistsMatch. Text severities are 0, 2, 4, 6 (four levels) or the full 0–7 scale (eight levels) (harm categories).

Field-by-field mapping

Content Moderator ProcessText/ScreenContent Safety text:analyzeNotes
Raw text body (text/plain, html, xml, markdown)JSON {"text": "..."}Body format changes
Query language, classify, PII, autocorrect, listIdJSON categories, blocklistNames, haltOnBlocklistHit, outputTypeDifferent parameters
Terms[] (built-in profanity list, ListId 0, with Index/OriginalIndex)blocklistsMatch[] from your own blocklistsNo built-in profanity list with offsets
PII (Email, IPA, Phone, Address, SSN with indexes)NoneUse a separate PII service, such as Azure AI Language PII detection
Classification.Category1 (explicit), Category2 (suggestive), Category3 (offensive), each 0–1Sexual, Hate, Violence, SelfHarm severity levelsNo 1:1 mapping; re-tune thresholds
Classification.ReviewRecommendedNoneDerive from your own severity thresholds
NormalizedText, AutoCorrectedText, MisrepresentationNone
Status.Code 3000, TrackingIdHTTP status and error bodyError handling changes
Image moderationImage analysis (separate endpoint)Video has no direct equivalent

Which way to go

SituationPath
You can rewrite the call and re-tune thresholds before March 2027Move to Content Safety (Microsoft's supported path; free F0 tier of 5,000 text records a month (a text record is up to 1,000 characters))
Your code, stored results or dashboards depend on Terms, PII or Category1/2/3Keep the format with a wire-compatible replacement ($1 per 1,000 texts) and migrate later on your own schedule
You use PII detection, video, OCR, faces or the review toolThe Microsoft service in the table above; the wire-compatible replacement covers text screening only
You only need a free generic moderation signalOpenAI's omni-moderation-latest (free), also with a different API

The minimal change with the wire-compatible replacement:

diff
- POST https://<region>.api.cognitive.microsoft.com/contentmoderator/moderate/v1.0/ProcessText/Screen?language=eng&classify=True
- Ocp-Apim-Subscription-Key: $AZURE_KEY
+ POST https://dropin-apis--content-moderator-compat.apify.actor/contentmoderator/moderate/v1.0/ProcessText/Screen?language=eng&classify=True
+ Authorization: Bearer $APIFY_TOKEN

FAQ

Is Azure Content Safety the same API as Content Moderator?

No. Content Safety uses POST /contentsafety/text:analyze with a JSON body and returns severity levels for Hate, Sexual, Violence and SelfHarm. Content Moderator's ProcessText/Screen took a raw text body and returned Terms, PII and Classification scores.

Does Content Safety detect PII like Content Moderator did?

Not in text:analyze. Microsoft's guide moves PII detection to Azure AI Language. A wire-compatible replacement can keep the old PII field (email, IP, US/UK phone, US SSN, US address).

How do Content Moderator categories map to Content Safety?

Roughly: Category1 (sexually explicit) and Category2 (suggestive) relate to Sexual, and Category3 (offensive) overlaps with Hate and Violence. The scales differ (0–1 scores versus severity levels), so thresholds must be re-tuned on your own data.

When does Azure Content Moderator stop working?

Microsoft's Content Moderator documentation says March 15, 2027, while its lifecycle table lists April 1, 2027. Plan for March 15 and check the notice for your subscription.

Can I keep using ProcessText/Screen after the retirement?

Not on Azure. A wire-compatible replacement accepts the same ProcessText/Screen request and returns the same JSON from a new host.

What replaces Content Moderator video moderation and the review tool?

Video has no direct replacement. Microsoft suggests extracting frames and sending them to the image API. The Review API and human review tool move to Content Safety Studio, which is a different workflow.