# AI Content Detector 🔍 (`easyapi/ai-content-detector`) Actor

🤖 Analyze text content to determine if it's AI-generated with high accuracy. Get detailed probability analysis and authoritative conclusions about content authenticity. Perfect for content verification, academic integrity, and digital publishing quality control.

- **URL**: https://apify.com/easyapi/ai-content-detector.md
- **Developed by:** [EasyApi](https://apify.com/easyapi) (community)
- **Categories:** AI, Developer tools
- **Stats:** 25 total users, 5 monthly users, 100.0% runs succeeded, 3 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## AI Content Detector 🔍

Powerful AI content detection tool that helps you identify whether text content is human-written or AI-generated. Get detailed probability analysis and authoritative conclusions about content authenticity.

### Features ✨

- 🎯 High accuracy content analysis
- 📊 Detailed probability breakdown (Human, Mixed, AI percentages)
- 💡 Clear authoritative conclusions
- ⚡ Fast processing speed
- 📝 Support for long-form content (up to 200,000 characters)
- 🔄 Easy integration with your workflow

### Use Cases 🚀

- ✅ Content authenticity verification
- 📚 Academic integrity checking
- 📰 Publishing quality control
- 🎓 Educational institution screening
- 💼 Professional content validation
- 🔎 SEO content assessment

### Output 📋

The actor provides comprehensive analysis results including:
- Authoritative conclusion about content authenticity
- Detailed probability breakdown for human, mixed, and AI-generated content
- Clear percentage-based analysis


#### Input Example
  
A full explanation of an input example in JSON.  
```json
{
    "text": "Unified API Error Codes and Troubleshooting Guide StackOne Unified API: Error Codes & Resolution Guide Encountering errors while interacting with APIs is a common occurrence. Although the StackOne unified API will try to remediate issues automatically, it is important to understand what each error code signifies. This guide lists the error codes you may encounter while using the StackOne Unified API, the possible reasons behind these errors, and possible steps for resolution.​Understanding Error Codes Below is a table detailing common error codes returned by the Unified API, their meanings, and common remediation steps: Error Code Description Probable Cause Remediation Steps 400 Bad Request Incorrectly formatted request parameters (request parameters do not follow expected schema and fail validation) Ensure all request parameters are correctly formatted and try again. Verify that the endpoint URL is correct. Ensure the request body is well-formed and all required parameters are included. 401 Unauthorized Invalid API key or access token. Double-check your credentials and ensure they’re valid. 403 Forbidden StackOne API key provided or linked account token lacks required permissions or the linked account tokens Verify the scopes of your API token and request necessary permissions. 404 Not Found The requested resource doesn’t exist, possibly due to an invalid ID. Double-check the resource IDs in your request and ensure they are valid. 408 Request Timed Out The request took too long to complete (>60 seconds) and has been aborted - this could be due to provider rate limits. Respect received Retry-After headers to alleviate pressure on provider systems and avoid concurrent requests to the unified API. 409 Conflict The resource to be created already exists Check that the resource doesn’t already exist before creating it. 412 Precondition Failed Endpoints using x-account-id may return 412 if the linked account is disabled. Check the status of the linked account and enable it if necessary. 422 Unprocessable Entity The payload data for creating a resource doesn’t match what the endpoints expect Verify that the data sent follows the StackOne API reference. Look at the additional details if available in provider_errors for any additional information from the provider. 429 Too Many Requests Rate limits exceeded. Can be returned by the underlying provider or StackOne. Implement exponential backoff for retries and ensure your requests are within rate limits. See Rate Limiting for more information. 500 Server Error Internal StackOne server issue. Notify StackOne support if the issue persists. 501 Not Implemented This endpoint hasn’t been implemented for this connected provider Skip the call or contact StackOne support for more information. View endpoint support via the Meta endpoint. 502 Bad Gateway The underlying Provider API has returned a 500 error Read any additional details available in the response data and ensure the resource exists."
}
````

#### Output sample

The results will be wrapped into a dataset which you can always find in the **Storage** tab. Here's an excerpt from the data you'd get if you apply the input parameters above:

And here is the same data but in JSON. You can choose in which format to download your data: JSON, JSONL, Excel spreadsheet, HTML table, CSV, or XML.

```json
[
    {
        "authoritative_conclusion": "We are highly confident this text looks like AI generated. 60% Probability AI generated",
        "probability_analysis": "22% Human, 36% Mixed, 42% AI"
    }
]
```

### Related Actors 🤝

- 🔍 [Google News Scraper](https://apify.com/easyapi/google-news-scraper) - Collect up to 5000 news articles with flexible search options
- 📊 [AI-powered Search](https://apify.com/easyapi/ai-powered-search) - Transform search queries into structured AI summaries
- 📝 [Article Content Extractor](https://apify.com/easyapi/article-content-extractor) - Extract clean article content and metadata
- 🎯 [Keyword Discovery Tool](https://apify.com/easyapi/keyword-discovery-tool) - Discover valuable search insights and keywords
- 🔍 [Keyword Density Checker](https://apify.com/easyapi/keyword-density-checker) - Analyze webpage content for keyword optimization
- 🤖 [AI Idea Generator](https://apify.com/easyapi/ai-idea-generator) - Generate innovative solutions with AI
- 🎨 [AI Art Generator](https://apify.com/easyapi/ai-art-generator) - Generate stunning AI art with custom prompts
- 🎯 [AI Art Prompt Generator](https://apify.com/easyapi/ai-art-prompt-generator) - Generate creative AI art prompts
- 📊 [Text Sentiment Analysis](https://apify.com/easyapi/text-sentiment-analysis) - Analyze text sentiment with detailed reports
- 🔄 [Text Summarization](https://apify.com/easyapi/text-summarization) - Generate concise document summaries
- 🎨 [Image to Prompt Generator](https://apify.com/easyapi/image-to-prompt-generator) - Transform images into detailed text descriptions
- 📝 [Twitter Bio Generator](https://apify.com/easyapi/twitter-bio-generator) - Generate unique Twitter bios with AI
- 🌐 [Website Content to Markdown for LLM Training](https://apify.com/easyapi/website-content-to-markdown-for-llm-training) - Transform web content into LLM-ready Markdown
- 📚 [PubMed Search Scraper](https://apify.com/easyapi/pubmed-search-scraper) - Extract research papers and academic articles
- 📰 [WikiHow Article Scraper](https://apify.com/easyapi/wikihow-article-scraper) - Scrape comprehensive article content

# Actor input Schema

## `text` (type: `string`):

The text content to analyze for AI detection

## `proxyConfiguration` (type: `object`):

Select your proxy configuration

## Actor input object example

```json
{
  "text": "Enter your text here to analyze whether it's AI-generated or human-written.",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("easyapi/ai-content-detector").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("easyapi/ai-content-detector").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call easyapi/ai-content-detector --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=easyapi/ai-content-detector",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "AI Content Detector 🔍",
        "description": "🤖 Analyze text content to determine if it's AI-generated with high accuracy. Get detailed probability analysis and authoritative conclusions about content authenticity. Perfect for content verification, academic integrity, and digital publishing quality control.",
        "version": "0.0",
        "x-build-id": "1i7BKwTgYyzdsmYam"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/easyapi~ai-content-detector/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-easyapi-ai-content-detector",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/easyapi~ai-content-detector/runs": {
            "post": {
                "operationId": "runs-sync-easyapi-ai-content-detector",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/easyapi~ai-content-detector/run-sync": {
            "post": {
                "operationId": "run-sync-easyapi-ai-content-detector",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "text"
                ],
                "properties": {
                    "text": {
                        "title": "Text Content",
                        "maxLength": 200000,
                        "type": "string",
                        "description": "The text content to analyze for AI detection",
                        "default": "Enter your text here to analyze whether it's AI-generated or human-written."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Select your proxy configuration",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
