npm package: @sharpapi/sharpapi-node-detect-profanities
Description: SharpAPI.com Node.js SDK for detecting profanities in text
Author: Dawid Makowski
Latest version: 1.0.2

![SharpAPI GitHub cover](https://sharpapi.com/sharpapi-github-php-bg.jpg "SharpAPI Node.js Client")

# Profanity Detector API for Node.js

## Detect profanity and inappropriate language in text -- powered by SharpAPI AI.

[![npm version](https://img.shields.io/npm/v/@sharpapi/sharpapi-node-detect-profanities.svg)](https://www.npmjs.com/package/@sharpapi/sharpapi-node-detect-profanities)
[![License](https://img.shields.io/npm/l/@sharpapi/sharpapi-node-detect-profanities.svg)](https://github.com/sharpapi/sharpapi-node-detect-profanities/blob/master/LICENSE.md)

**SharpAPI Profanity Detector** analyzes text content to identify profane, offensive, or inappropriate language. Returns a sanitized version of the text along with a list of detected profanities. Capable of detecting obfuscation techniques including character substitutions (e.g., `@` for `a`), divided words, and letter repetitions.

---

## Table of Contents

1. [Requirements](#requirements)
2. [Installation](#installation)
3. [Usage](#usage)
7. [Use Cases](#use-cases)
10. [License](#license)

---

## Requirements

- Node.js >= 16.x
- npm or yarn

---

## Installation

### Step 1. Install the package via npm:

```bash
npm install @sharpapi/sharpapi-node-detect-profanities
```

### Step 2. Get your API key

Visit [SharpAPI.com](https://sharpapi.com/) to get your API key.

---

## Usage

```javascript
const { SharpApiDetectProfanitiesService } = require('@sharpapi/sharpapi-node-detect-profanities');

const apiKey = process.env.SHARP_API_KEY; // Store your API key in environment variables
const service = new SharpApiDetectProfanitiesService(apiKey);

const text = 'Some user-generated content that needs to be checked for inappropriate language.';

async function checkContent() {
  try {
    // Submit processing job
    const statusUrl = await service.detectProfanities(text);
    console.log('Job submitted. Status URL:', statusUrl);

    // Fetch results (polls automatically until complete)
    const result = await service.fetchResults(statusUrl);
    console.log('Result:', result.getResultJson());
  } catch (error) {
    console.error('Error:', error.message);
  }
}

checkContent();
```

---

## API Documentation

### Methods

#### `detectProfanities(text)`

Analyzes the provided text for profanity, offensive language, and obfuscated inappropriate words.

**Parameters:**
- `text` (string, required): The text content to analyze

**Returns:** Promise<string> - Status URL for polling results

### Detection Capabilities

The AI-powered detector goes beyond simple word matching. It can identify:

- **Direct profanity**: Standard offensive words and phrases
- **Character substitutions**: `@ss`, `sh!t`, `f*ck` and similar obfuscations
- **Divided words**: Words split with spaces or punctuation to evade filters
- **Letter repetitions**
- **Mixed techniques**: Combinations of the above obfuscation methods


## Use Cases

- **Content Moderation**: Filter inappropriate language from comments, reviews, and posts
- **Community Management**: Maintain safe environments in forums, chats, and social platforms
- **User Protection**: Prevent cyberbullying and harassment in real-time
- **Brand Safety**: Ensure user-generated content aligns with brand values
- **Compliance**: Meet content policies and regulatory requirements (COPPA, platform TOS)
- **Parental Controls**: Filter inappropriate content for younger audiences
- **Anti-Evasion**: Catch obfuscated profanity that simple word filters miss

## License

This project is licensed under the MIT License. See the [LICENSE.md](LICENSE.md) file for details.

---

## Support

- **Documentation**: [SharpAPI.com Documentation](https://sharpapi.com/documentation)
- **Issues**: [GitHub Issues](https://github.com/sharpapi/sharpapi-node-detect-profanities/issues)
- **Email**: contact@sharpapi.com