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/kernel:kernel-apps-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
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.
OpenAPI Specification
openapi: 3.2.0
info:
description: Developer tools and cloud infrastructure for AI agents to use web browsers
title: Kernel Apps API
version: 0.1.0
servers:
- description: API Server
url: https://api.onkernel.com
security:
- bearerAuth: []
tags:
- description: List applications and versions.
name: Apps
paths:
/apps:
get:
description: List applications. Optionally filter by app name and/or version label.
operationId: getApps
parameters:
- description: Filter results by application name.
in: query
name: app_name
required: false
schema:
type: string
- description: Filter results by version label.
in: query
name: version
required: false
schema:
type: string
- description: Limit the number of apps to return.
in: query
name: limit
required: false
schema:
default: 20
maximum: 100
minimum: 1
type: integer
- description: Offset the number of apps to return.
in: query
name: offset
required: false
schema:
default: 0
minimum: 0
type: integer
- description: Search apps by name.
in: query
name: query
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AppVersionSummary'
type: array
description: List of apps.
headers:
X-Has-More:
description: Whether there are more apps to fetch.
schema:
default: false
type: boolean
X-Limit:
description: Limit the number of apps to return.
schema:
default: 20
maximum: 100
minimum: 1
type: integer
X-Next-Offset:
description: The offset where the next page starts. 0 when there are no more results.
schema:
nullable: true
type: integer
X-Offset:
description: The offset of apps to return.
schema:
default: 0
minimum: 0
type: integer
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalError'
security:
- bearerAuth: []
summary: List apps
tags:
- Apps
components:
schemas:
AppAction:
description: An action available on the app
properties:
input_schema:
additionalProperties: true
description: JSON Schema (draft-07) describing the expected input payload. Null if schema could not be automatically generated.
nullable: true
type: object
name:
description: Name of the action
example: analyze
type: string
output_schema:
additionalProperties: true
description: JSON Schema (draft-07) describing the expected output payload. Null if schema could not be automatically generated.
nullable: true
type: object
required:
- name
type: object
ErrorDetail:
properties:
code:
description: Lower-level error code providing more specific detail
example: invalid_input
type: string
message:
description: Further detail about the error
example: Provided version string is not semver compliant
type: string
type: object
AppVersionSummary:
description: Summary of an application version.
properties:
actions:
description: List of actions available on the app
items:
$ref: '#/components/schemas/AppAction'
type: array
app_name:
description: Name of the application
example: my-app
type: string
deployment:
description: Deployment ID
type: string
env_vars:
additionalProperties:
type: string
description: Environment variables configured for this app version. Values are redacted for API key, OAuth, and managed-auth callers, which receive every key with an empty string value. Only dashboard sessions receive the actual values.
type: object
id:
description: Unique identifier for the app version
example: rr33xuugxj9h0bkf1rdt2bet
type: string
region:
const: aws.us-east-1a
description: Deployment region code
example: aws.us-east-1a
type: string
version:
description: Version label for the application
example: 1.0.0
type: string
required:
- id
- app_name
- version
- region
- deployment
- actions
- env_vars
type: object
Error:
properties:
code:
description: Application-specific error code (machine-readable)
example: bad_request
type: string
details:
description: Additional error details (for multiple errors)
items:
$ref: '#/components/schemas/ErrorDetail'
type: array
inner_error:
$ref: '#/components/schemas/ErrorDetail'
message:
description: Human-readable error description for debugging
example: 'Missing required field: app_name'
type: string
required:
- code
- message
type: object
responses:
InternalError:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
Unauthorized:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Unauthorized – missing or invalid authorization token
securitySchemes:
bearerAuth:
scheme: bearer
type: http
x-service-info:
categories:
- browsers
docs:
apiReference: https://www.kernel.sh/docs
homepage: https://www.kernel.sh
llms: https://api.onkernel.com/llms.txt
x-provenance:
method: harvested
publisher: Kernel
source: https://api.onkernel.com/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)