Appen website screenshot

Appen

Appen provides high-quality training data and data annotation services for AI models, leveraging a global crowd of over 500,000 contributors. With 30 years of experience, they offer data products across speech, vision, language, and structured data, supporting enterprises in building reliable AI systems. Their platform includes tools for data collection, labeling, validation, and evaluation, ensuring compliance and security with SOC 2 and ISO 27001 certifications.

Appen publishes 8 API contracts indexed on the APIs.io network, including Download API, Internal Contributors API, Jobs API, and 5 more. Tagged areas include Artificial Intelligence, Data, Annotation, Training Data, and Enterprise.

The Appen catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.

Appen’s developer surface includes authentication, documentation, API reference, engineering blog, and 19 more developer resources.

39.1/100 thin ▬ flat Agent 29/100 agent ready Front door AI 6/6 dominant Full breakdown ↓
scored 2026-10-17 · rubric v0.24.0
1 published contract
Artificial IntelligenceDataAnnotationTraining DataEnterprise

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-10-17 · rubric v0.24.0
Regulatory Posture applies to this provider. Its tags matched the Horizontal (data, software, accessibility, platform) regime, so Regulatory Posture carries 15 points of the composite. If this regime is wrong for your business, say so on your provider repo — the applicability map is public and we will correct it.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it carries 10 points of the composite. It is scored from the published contracts themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in front of it, and the first time that check is skipped a duplicate record is created. Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet, not penalised by it.
The six quality facets above are damped to 75 points between them, because the conditional facet above carries the other 25. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 75% of its nominal weight, not 100%. The full arithmetic is at apis.io/rating/.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/appen: open an issue to ask a question, or submit a pull request to add artifacts. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

APIs 8

Individual APIs this provider publishes, each with its own machine-readable definition.

Appen AI Data Annotation Platform API

Appen AI Data Annotation Platform (ADAP) API

Appen Download API

Generate and download reports for either a single job or an entire project, and download datasets from projects. - **Choose scope with exactly one of:** - jobId: download a Job-...

Appen Internal Contributors API

The Internal Contributors API from Appen — 12 operation(s) for internal contributors.

Appen Jobs API

Job management operations for creating, configuring, and controlling data annotation workflows. - **Job Lifecycle Management:** - **Create Jobs**: Initialize new annotation task...

Appen Projects API

Project management operations for organizing and structuring your data annotation workflows. - **Project Structure:** - Projects serve as containers for organizing related jobs ...

Appen Route Units API

Unit management operations for handling individual data rows and their distribution across jobs. - **Unit Operations:** - **List Units**: Retrieve and filter units within a proj...

Appen Test Questions API

Test question management operations for evaluating contributor performance and ensuring quality assurance in data annotation workflows. - **Key Operations:** - **Add Test Questi...

Appen Upload API

File upload operations for importing datasets and data into your projects and jobs. - **Dataset Upload Process:** - **Upload Files**: Send CSV files containing your data to exis...

Scroll for all 8

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Appen Context

7 classes · 78 properties

JSON-LD

Spectral Rules 1

Spectral governance rulesets for linting and validating these APIs.

Appen API Rules

15 rules · 11 errors 2 warnings 2 info

SPECTRAL

OpenAPI Overlays 1

Overlays applied on top of this provider's contracts. Each card says who wrote it: a document the provider publishes, or one API Evangelist derived or generated.

Appen Openapi Overlay

0 actions · update

UNRECORDED

JSON Schema 3

Standalone JSON Schema definitions for this provider's data models.

JobDTO

67 properties

JSON SCHEMA

Response

5 properties

JSON SCHEMA

UpdateTestQuestionRequest

0 properties

JSON SCHEMA

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Appen Authentication

http · 1 scheme

SECURITY

Appen Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Appen Agentic Access

32 operations · 28 acting

32 operations · 28 acting

AGENTIC

Resources

Get Started 1

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 4

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 6

Pagination, idempotency, versioning, errors, and events

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 1

Pricing, plans, and the legal terms of use

Company 2

The organization behind the API

Other 2

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: appen
name: Appen
image: https://cdn.prod.website-files.com/656a605609413dfd3feb9d34/6aa317a84eab4c7f1644a689_Appen-social-share.png
description: Appen provides high-quality training data and data annotation services for AI models, leveraging a global crowd
  of over 500,000 contributors. With 30 years of experience, they offer data products across speech, vision, language, and
  structured data, supporting enterprises in building reliable AI systems. Their platform includes tools for data collection,
  labeling, validation, and evaluation, ensuring compliance and security with SOC 2 and ISO 27001 certifications.
url: https://raw.githubusercontent.com/api-evangelist/appen/refs/heads/main/apis.yml
x-type: company
x-source: harvest:data
x-tier: profiled
x-tier-reason: enrichment pass 2026-09-22 (modular-v1; was harvest)
specificationVersion: '0.20'
created: '2026-09-22'
modified: '2026-09-22'
x-docs-platform: redocly
x-docs-platform-confidence: medium
x-docs-platform-checked: 2026-09-24
x-docs-hosting: aws-cloudfront
tags:
- Artificial Intelligence
- Data
- Annotation
- Training Data
- Enterprise
tags_raw:
- AI
- Data
- Annotation
- TrainingData
- Enterprise
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
- FN: APIs.json
  email: info@apis.io
common:
- type: AgentSkill
  url: skills/_index.yml
- type: AgenticAccess
  url: agentic-access/appen-agentic-access.yml
- type: Spectral
  url: rules/appen-rules.yml
- type: JSONLD
  url: json-ld/appen-context.jsonld
- type: Vocabulary
  url: vocabulary/appen-vocabulary.yml
- type: DataModel
  url: data-model/appen-data-model.yml
- type: ErrorCatalog
  url: errors/appen-problem-types.yml
- type: Conformance
  url: conformance/appen-conformance.yml
- type: LLMsTxt
  url: llms/appen-llms.txt
- type: SecurityTxt
  url: well-known/appen-status-security.txt
- type: WellKnown
  url: well-known/appen-well-known.yml
- type: Hosts
  url: hosts/appen-hosts.yml
- type: Vendors
  url: vendors/appen-vendors.yml
- type: StatusPage
  url: https://status.appen.com/
- type: Authentication
  url: authentication/appen-authentication.yml
- type: DomainSecurity
  url: security/appen-domain-security.yml
- type: Website
  url: https://appen.com/
- type: DeveloperPortal
  url: https://developer.appen.com/
- type: Documentation
  url: https://developer.appen.com/
- type: APIReference
  url: https://developer.appen.com/open-api.yaml
- type: Blog
  url: https://www.appen.com/blog
- type: GitHubOrganization
  url: https://github.com/Appen
- type: PrivacyPolicy
  url: https://www.appen.com/legal-policies/privacy-statement
apis:
- name: Appen AI Data Annotation Platform API
  description: Appen AI Data Annotation Platform (ADAP) API
  humanURL: https://developer.appen.com/open-api.yaml
  baseURL: https://api.appen.com
  aid: appen:appen-ai-data-annotation-platform-api
- aid: appen:appen-download-api
  name: Appen Download API
  description: "Generate and download reports for either a single job or an entire project, and download datasets from projects.\n\
    \n- **Choose scope with exactly one of:**\n  - jobId: download a Job-level report\n  - projectId: download a Project-level\
    \ report or dataset\n  (Do not send both.)\n\n- **Required query parameters:**\n  - type: the report you want to generate\
    \ or dataset to download\n  - filename: the output file name (e.g., report.csv)\n\n- **How it works:**\n  - When you trigger\
    \ the API for the first time, the API returns 202 (in progress).\n  - **You must call the same endpoint again with the\
    \ exact same query parameters** to check the status. Repeat the request every 2-5 seconds until you receive a 200 response.\n\
    \  - When the report is ready for download, the API returns 200 and streams the file directly in the response body.\n\
    \  - **No separate URL fetch is needed** - the file content is streamed directly when ready (200 response).\n  - The file\
    \ is automatically saved to the path specified in your curl `-o` flag or your API tool's save location. \n\n- **Supported\
    \ report types:**\n  **Job-level (use jobId):**\n    - full: All individual judgments\n    - json: JSON report with aggregated\
    \ and raw judgments\n    - aggregated: Aggregated results (requires request body; see below)\n    - workset: Contributor\
    \ (Workset) report\n    - source: Original source data uploaded to the job\n    - ai_detector_report_contributor_level\n\
    \    - ai_detector_report_unit_level\n    - test_question_report_contributor_level\n    - k_alpha_report: Inter-annotator\
    \ agreement (Krippendorff’s alpha)\n    - contributor_scores_report: Contributor Scores Report\n\n  **Project-level (use\
    \ projectId):**\n    - job_daily_report_project_level\n    - contributor_report_project_level\n    - source_report_project_level\n\
    \    - json_report_project_level\n\n  **Dataset Download (use projectId):**\n    - DATA_SET: Unit View dataset with customizable\
    \ unit selection and column filtering\n    - JUDGMENT_DATA_SET: Judgment View dataset with customizable unit selection\
    \ and column filtering\n    - Supports filtering by unit IDs and column selection\n    - Optional filter support with\
    \ filterName and userId/akonId parameters\n\n- **Aggregated reports (type=aggregated, Job-level only):**\n  - Provide\
    \ a request body with aggregation rules for every judgment column:\n    judgmentColumnAggregation: [\n      { judgmentColumn,\
    \ aggregationAlgorithm, parameter? }\n    ]\n  - aggregationAlgorithm must be one of:\n    - AGG (Best Answer)\n    -\
    \ AGG_X (Top # Answers) → requires parameter.numberOfAnswers\n    - CAGG_X (Confidence Score) → requires parameter.minimumConfidence\
    \ (0–1)\n    - ALL (All Answers)\n    - AVG (Numeric Average)\n  - Example: choose one algorithm per column (e.g., \"\
    _meta\", \"ask_question_here\").\n\n- **File format:**\n  - Most types return CSV files; type=json returns a JSON file.\n\
    \  - The final file name uses the provided filename parameter.\n\n- **Authentication:**\n  - Authorization: Token token=your-api-key\n\
    \n- **Responses:**\n  - 200: DONE with downloadableUrl (and Location header)\n  - 202: Report generation in progress\n\
    \  - 400/403/404/500: Error with details"
  humanURL: https://developer.appen.com/open-api.yaml
  baseURL: https://api.appen.com
  tags:
  - Downloads
  tags_raw:
  - Download
  properties:
  - type: OpenAPI
    url: openapi/appen-download-api-openapi.yml
- aid: appen:appen-internal-contributors-api
  name: Appen Internal Contributors API
  description: The Internal Contributors API from Appen — 12 operation(s) for internal contributors.
  humanURL: https://developer.appen.com/open-api.yaml
  baseURL: https://api.appen.com
  tags:
  - Internal Contributors
  properties:
  - type: OpenAPI
    url: openapi/appen-internal-contributors-api-openapi.yml
- aid: appen:appen-jobs-api
  name: Appen Jobs API
  description: "Job management operations for creating, configuring, and controlling data annotation workflows.\n\n- **Job\
    \ Lifecycle Management:**\n  - **Create Jobs**: Initialize new annotation tasks with project association and type specification\n\
    \  - **Update Settings**: Modify job configuration, instructions, and workflow parameters\n  - **Launch Jobs**: Activate\
    \ jobs from DRAFT to RUNNING state for contributor access\n  - **Pause Jobs**: Temporarily halt job execution while preserving\
    \ progress\n\n- **Job Types Supported:**\n  - **WORK**: Standard annotation jobs for tasks\n  - **QA**: Quality assurance\
    \ jobs for reviewing, validating work and providing the feedback.\n\n- **Job States:**\n  1. **DRAFT**: Initial creation\
    \ state, configurable but not accessible to contributors\n  2. **RUNNING**: Active state where contributors can work on\
    \ assignments\n  3. **PAUSED**: Temporarily halted, preserving all progress and judgments"
  humanURL: https://developer.appen.com/open-api.yaml
  baseURL: https://api.appen.com
  tags:
  - Job
  tags_raw:
  - Jobs
  properties:
  - type: OpenAPI
    url: openapi/appen-jobs-api-openapi.yml
  - type: JSONSchema
    url: json-schema/appen-job-dto-schema.json
  - type: JSONSchema
    url: json-schema/appen-response-schema.json
- aid: appen:appen-projects-api
  name: Appen Projects API
  description: "Project management operations for organizing and structuring your data annotation workflows.\n\n- **Project\
    \ Structure:**\n  - Projects serve as containers for organizing related jobs and data\n  - Each project belongs to a specific\
    \ team and can contain multiple jobs\n  - Projects provide a logical grouping for workflow management\n\n- **Key Operations:**\n\
    \  - **Create Projects**: Initialize new project containers with a name.\n\n- **Project Components:**\n  - **Jobs**: Individual\
    \ annotation tasks within a project\n  - **Units**: Data rows uploaded to projects for annotation\n  - **Judgments**:\
    \ Contributor responses collected on project units\n\n- **Project Lifecycle:**\n  1. **Creation**: Initialize project\
    \ with name and description\n  2. **Configuration**: Set up project settings and access controls\n  3. **Population**:\
    \ Add jobs, upload units, and configure workflows\n  4. **Execution**: Run jobs and collect judgments\n  5. **Analysis**:\
    \ Generate reports and analyze results\n\n- **Integration Points:**\n  - **Job Management**: Create and manage jobs within\
    \ projects\n  - **Data Upload**: Upload units and datasets to projects\n  - **Unit Operations**: List, filter, and manage\
    \ project units\n  - **Workflow Routing**: Send units between jobs within project\n  - **Reporting**: Generate project/job-level\
    \ analytics and reports"
  humanURL: https://developer.appen.com/open-api.yaml
  baseURL: https://api.appen.com
  tags:
  - Project
  tags_raw:
  - Projects
  properties:
  - type: OpenAPI
    url: openapi/appen-projects-api-openapi.yml
  - type: JSONSchema
    url: json-schema/appen-response-schema.json
- aid: appen:appen-route-units-api
  name: Appen Route Units API
  description: "Unit management operations for handling individual data rows and their distribution across jobs.\n\n- **Unit\
    \ Operations:**\n  - **List Units**: Retrieve and filter units within a project with pagination capabilities\n  - **Send\
    \ Units to Job**: Route units from projects to specific jobs for annotation work\n  - **Unit Filtering**: Filter units\
    \ by job status, dataset row type, and other criteria\n  - **Bulk Operations**: Handle multiple units simultaneously for\
    \ efficient workflow management\n\n- **Unit Types:**\n  - **Individual Units**: Single data rows ready for annotation\n\
    \  - **Unit Groups**: Collections of related units that can be processed together\n  - **Dataset Rows**: Structured data\
    \ from uploaded CSV files\n\n- **Key Features:**\n  - **Advanced Filtering**: Filter by job status, dataset type\n  -\
    \ **Pagination Support**: Handle large datasets with efficient pagination\n  - **Sorting Options**: Customizable sorting\
    \ for better data organization\n  - **Status Tracking**: Monitor unit status across different job assignments\n\n- **Unit\
    \ Lifecycle Management:**\n  1. **Creation**: Units are created when data is uploaded to projects\n  2. **Assignment**:\
    \ Units are distributed to jobs for contributor work\n  3. **Processing**: Contributors annotate units and submit judgments\n\
    \  4. **Routing**: Units can be moved between jobs (e.g., work to QA)\n  5. **Completion**: Units receive required judgments\
    \ and are marked complete"
  humanURL: https://developer.appen.com/open-api.yaml
  baseURL: https://api.appen.com
  tags:
  - Route Units
  properties:
  - type: OpenAPI
    url: openapi/appen-route-units-api-openapi.yml
  - type: JSONSchema
    url: json-schema/appen-response-schema.json
- aid: appen:appen-test-questions-api
  name: Appen Test Questions API
  description: "Test question management operations for evaluating contributor performance and ensuring quality assurance\
    \ in data annotation workflows.\n\n- **Key Operations:**\n  - **Add Test Questions**: Create new test questions and link\
    \ them to specific units\n  - **Upload Test Questions**: Bulk upload test questions from CSV files\n  - **Update Test\
    \ Questions**: Modify existing test questions and its settings\n\n- **Test Question Features:**\n  - **Enable/Disable**:\
    \ Control whether test questions are active for contributor evaluation\n  - **Hide/Show**: Manage visibility of test question\
    \ answers and explanation\n  - **Content Management**: Update question content, answers, and explanations\n  - **Mode\
    \ Configuration**: Set QUIZ, WORK, or QUIZ+WORK modes for different evaluation types\n  - **Performance Tracking**: Monitor\
    \ contributor scores metrics\n  - **Calibration**: Ensure consistent annotation quality across different contributors\n\
    \n- **Authentication:**\n  - Authorization: Token token=your-api-key\n\n- **Common Responses:**\n  - 200: Success with\
    \ test question data\n  - 400: Bad request - Invalid parameters or duplicate test questions\n  - 403: Access denied\n\
    \  - 404: Project, job, or test question not found\n  - 500: Internal server error"
  humanURL: https://developer.appen.com/open-api.yaml
  baseURL: https://api.appen.com
  tags:
  - Test Questions
  properties:
  - type: OpenAPI
    url: openapi/appen-test-questions-api-openapi.yml
  - type: JSONSchema
    url: json-schema/appen-update-test-question-request-schema.json
- aid: appen:appen-upload-api
  name: Appen Upload API
  description: "File upload operations for importing datasets and data into your projects and jobs.\n\n- **Dataset Upload\
    \ Process:**\n  - **Upload Files**: Send CSV files containing your data to existing projects\n  - **Status Monitoring**:\
    \ Track upload progress and completion status\n  - **File Validation**: Automatic validation of CSV format, headers, and\
    \ content\n\n- **Supported File Formats:**\n  - **CSV Files**: Primary format for data import\n  - **Encoding**: UTF-8\
    \ encoding recommended\n  - **Headers**: Required column headers for data organization\n  - **Data Types**: Text, numeric,\
    \ date, and structured data support\n\n- **Upload Workflow:**\n  1. **File Preparation**: Ensure CSV format with proper\
    \ headers\n  2. **Upload Initiation**: Send file to project with metadata\n  3. **Processing**: System validates and processes\
    \ the data\n  4. **Status Polling**: Monitor status until completion\n  5. **Data Integration**: Units become available\
    \ for job assignments\n\n- **Key Features:**\n  - **Batch Processing**: Handle large datasets efficiently\n  - **Progress\
    \ Tracking**: Real-time upload status monitoring\n  - **Error Handling**: Detailed validation error messages\n  - **File\
    \ Management**: Track uploaded files and their metadata\n\n- **Integration Points:**\n  - **Project Association**: Uploads\
    \ are linked to specific projects\n  - **Unit Creation**: Each row becomes a unit for annotation\n  - **Job Routing**:\
    \ Units can be sent to jobs for contributor work"
  humanURL: https://developer.appen.com/open-api.yaml
  baseURL: https://api.appen.com
  tags:
  - Upload
  properties:
  - type: OpenAPI
    url: openapi/appen-upload-api-openapi.yml
x-enrichment:
  date: '2026-09-22'
  status: enriched
  artifacts_added: 20
  pass: modular-v1
  engine: identity=local,contract=local,surfaces=local,docs=local

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/appen"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/appen/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/appen/evidence"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.