Work with this as data
Every API 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 apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/vanta:vanta-controls-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.
OpenAPI Specification
openapi: 3.2.0
info:
title: Vanta Controls API
description: The Vanta REST API enables organizations to programmatically manage their security compliance posture. The API supports personnel management, vulnerability monitoring, resource scoping, document and test management, control oversight, vendor management, and custom integrations. Vanta helps automate compliance for SOC 2, ISO 27001, HIPAA, PCI DSS, and GDPR frameworks.
version: v1
contact:
name: Vanta Developer Hub
url: https://developer.vanta.com
termsOfService: https://www.vanta.com/terms
license:
name: Proprietary
url: https://www.vanta.com/terms
servers:
- url: https://api.vanta.com
description: Vanta API
security:
- OAuth2: []
tags:
- name: Controls
description: Compliance controls and framework management
paths:
/v1/controls:
get:
operationId: listControls
summary: List Controls
description: Query information about compliance controls including control language and statuses.
tags:
- Controls
parameters:
- $ref: '#/components/parameters/pageSize'
- $ref: '#/components/parameters/pageCursor'
- name: frameworkId
in: query
schema:
type: string
description: Filter controls by framework identifier
- name: status
in: query
schema:
type: string
enum:
- PASSING
- FAILING
- NEEDS_ATTENTION
- NOT_APPLICABLE
description: Filter by control status
responses:
'200':
description: Paginated list of controls
content:
application/json:
schema:
$ref: '#/components/schemas/ControlListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
/v1/frameworks:
get:
operationId: listFrameworks
summary: List Frameworks
description: Query all compliance frameworks configured in the organization.
tags:
- Controls
parameters:
- $ref: '#/components/parameters/pageSize'
- $ref: '#/components/parameters/pageCursor'
responses:
'200':
description: Paginated list of frameworks
content:
application/json:
schema:
$ref: '#/components/schemas/FrameworkListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
components:
parameters:
pageCursor:
name: pageCursor
in: query
schema:
type: string
description: Cursor for pagination — start from the item following this cursor
pageSize:
name: pageSize
in: query
schema:
type: integer
minimum: 1
maximum: 100
default: 10
description: Number of items to return per page (1-100)
schemas:
Framework:
type: object
properties:
id:
type: string
description: Unique framework identifier
name:
type: string
description: Framework name (e.g., SOC 2, ISO 27001, HIPAA)
description:
type: string
description: Framework description
status:
type: string
enum:
- IN_PROGRESS
- READY_FOR_AUDIT
- CERTIFIED
description: Overall framework readiness status
controlCount:
type: integer
description: Total number of controls in this framework
passingControlCount:
type: integer
description: Number of passing controls
PageInfo:
type: object
properties:
pageSize:
type: integer
description: Number of items returned
nextPageCursor:
type: string
nullable: true
description: Cursor for the next page of results
hasNextPage:
type: boolean
description: Whether there are more items after this page
Error:
type: object
properties:
error:
type: string
description: Error code
message:
type: string
description: Human-readable error description
details:
type: array
items:
type: string
description: Additional error details
Control:
type: object
properties:
id:
type: string
description: Unique control identifier
name:
type: string
description: Control name
description:
type: string
description: Control description and requirements
status:
type: string
enum:
- PASSING
- FAILING
- NEEDS_ATTENTION
- NOT_APPLICABLE
description: Current control status
frameworkId:
type: string
description: Framework this control belongs to
ownerId:
type: string
nullable: true
description: User ID of the control owner
testCount:
type: integer
description: Number of tests associated with this control
passingTestCount:
type: integer
description: Number of passing tests
ControlListResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Control'
pageInfo:
$ref: '#/components/schemas/PageInfo'
FrameworkListResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Framework'
pageInfo:
$ref: '#/components/schemas/PageInfo'
responses:
RateLimited:
description: Rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized — missing or invalid access token
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
OAuth2:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://api.vanta.com/oauth/token
scopes:
vanta.read: Read access to Vanta data
vanta.write: Write access to Vanta data
connectors.self:read-resource: Read connector resources
connectors.self:write-resource: Write connector resources
auditor-api.audit:read: Read audit data
auditor-api.auditor:read: Read auditor data