Check content for profanity, analyze sentiment, and measure readability
Beta Release - This action is in beta. We'd love your feedback! Open an issue if you encounter any problems.

Browse All APIs | Get Free API Key | Documentation
This action provides access to APIVerve's Content Quality APIs directly in your GitHub workflows:
- Filter profanity from user-generated content
- Analyze sentiment of text
- Measure content readability scores
- Detect gibberish or spam content
| API | Description |
|---|---|
contentfilter |
Content Filter checks URLs against a comprehensive blocklist of 200,000+ domains categorized as ads-malware, fake news, gambling, adult content, or social media. Returns the specific category for blocked domains. |
profanityfilter |
Profanity Filter is a simple tool for filtering out profanity words from a text. It returns the text with the profanity words replaced by placeholders. |
sentimentanalysis |
Sentiment Analysis is a simple tool for analyzing the sentiment of a text. It returns the sentiment score and the sentiment label. |
readabilityscore |
Readability Score is a simple tool for calculating the readability score of text. It returns the readability score based on various readability formulas. |
gibberishdetector |
Gibberish Detector analyzes text using bigram frequency and vowel ratios to identify nonsensical or randomly generated content. |
- name: Content Quality
uses: apiverve/action-content-quality@v1
with:
api_key: ${{ secrets.APIVERVE_KEY }}
api: contentfilter
params: '{"text": "Your content here"}'Sign up for a free account at dashboard.apiverve.com/signup and create an API key.
Go to your repository Settings → Secrets and variables → Actions → New repository secret
- Name:
APIVERVE_KEY - Value: Your API key from the dashboard
- name: Content Quality
uses: apiverve/action-content-quality@v1
with:
api_key: ${{ secrets.APIVERVE_KEY }}
api: contentfilter
params: '{"your": "parameters"}'| Input | Description | Required | Default |
|---|---|---|---|
api_key |
Your APIVerve API key (or set APIVERVE_API_KEY env var) |
Yes* | - |
api |
API to use: contentfilter, profanityfilter, sentimentanalysis, readabilityscore, gibberishdetector |
No | contentfilter |
params |
JSON parameters for the API | No | {} |
output_file |
Path to save binary output (images, PDFs) | No | - |
format |
Response format: json, yaml, or xml |
No | json |
fail_on_error |
Fail workflow if API returns error | No | true |
*API key is required but can be provided via input OR APIVERVE_API_KEY / APIVERVE_KEY environment variable.
| Output | Description |
|---|---|
result |
Full API response as JSON |
data |
The data field from response as JSON |
status |
API status (ok or error) |
file |
Path to downloaded file (if output_file was used) |
Check text for profanity
- name: Profanity Check
id: content-quality-0
uses: apiverve/action-content-quality@v1
with:
api_key: ${{ secrets.APIVERVE_KEY }}
api: profanityfilter
params: '{"text": "Your content here"}'
- name: Use result
run: echo "Result: ${{ steps.content-quality-0.outputs.data }}"Analyze the sentiment of text
- name: Sentiment Analysis
id: content-quality-1
uses: apiverve/action-content-quality@v1
with:
api_key: ${{ secrets.APIVERVE_KEY }}
api: sentimentanalysis
params: '{"text": "This is a great product!"}'
- name: Use result
run: echo "Result: ${{ steps.content-quality-1.outputs.data }}"Calculate readability metrics
- name: Readability Score
id: content-quality-2
uses: apiverve/action-content-quality@v1
with:
api_key: ${{ secrets.APIVERVE_KEY }}
api: readabilityscore
params: '{"text": "Your content here"}'
- name: Use result
run: echo "Result: ${{ steps.content-quality-2.outputs.data }}"name: Content Quality Workflow
on:
push:
branches: [main]
workflow_dispatch:
jobs:
content-quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Content Quality
id: result
uses: apiverve/action-content-quality@v1
with:
api_key: ${{ secrets.APIVERVE_KEY }}
api: contentfilter
params: '{"text": "Your content here"}'
- name: Show result
run: |
echo "Status: ${{ steps.result.outputs.status }}"
echo "Data: ${{ steps.result.outputs.data }}"Looking for more APIVerve actions?
- apiverve/action - Generic action for all 350+ APIs
- apiverve/action-release-assets - Generate QR codes, barcodes, and badges for your GitHub releases
- apiverve/action-visual-testing - Capture screenshots and generate PDFs for visual regression testing and documentation
- apiverve/action-dns-monitor - Verify DNS configuration, check propagation, and validate DNSSEC after deployments
- Free tier - Get started with generous free limits
- Pro plans - Higher rate limits and priority support for production use
Check out pricing details.
- API Documentation: docs.apiverve.com
- API Marketplace: apiverve.com/marketplace
- Issues & Support: GitHub Issues
- Email: [email protected]
MIT - see LICENSE
Built by APIVerve - 350+ APIs for developers