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-browser-logs-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 Browser Logs API
version: 0.1.0
servers:
- description: API Server
url: https://api.onkernel.com
security:
- bearerAuth: []
tags:
- description: Stream logs from the browser instance.
name: Browser Logs
paths:
/browsers/{id_or_name}/logs/stream:
get:
operationId: logsStream
parameters:
- description: Browser session ID or name
example: htzv5orfit78e1m2biiifpbv
in: path
name: id_or_name
required: true
schema:
type: string
- in: query
name: source
required: true
schema:
enum:
- path
- supervisor
type: string
- in: query
name: follow
required: false
schema:
default: true
type: boolean
- description: only required if source is path
in: query
name: path
required: false
schema:
type: string
- description: only required if source is supervisor
in: query
name: supervisor_process
required: false
schema:
type: string
responses:
'200':
content:
text/event-stream:
schema:
$ref: '#/components/schemas/LogEvent'
description: SSE stream of logs
headers:
X-SSE-Content-Type:
description: Media type of SSE data events (application/json)
schema:
const: application/json
type: string
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
default:
$ref: '#/components/responses/BrowserProxyError'
security:
- bearerAuth: []
summary: Stream log files on the browser instance via SSE
tags:
- Browser Logs
components:
responses:
BadRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Bad Request – invalid input
NotFound:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Resource not found
InternalError:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
BrowserProxyError:
content:
application/json:
schema:
$ref: '#/components/schemas/InstanceProxyError'
description: Error returned by the browser or its proxy
schemas:
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
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
LogEvent:
description: A log entry from the application.
properties:
event:
const: log
description: Event type identifier (always "log").
type: string
message:
description: Log message text.
type: string
timestamp:
description: Time the log entry was produced.
format: date-time
type: string
required:
- event
- message
- timestamp
type: object
InstanceProxyError:
properties:
code:
$ref: '#/components/schemas/InstanceProxyErrorCode'
message:
description: Human-readable error description for debugging
type: string
required:
- code
- message
type: object
InstanceProxyErrorCode:
description: Canonical error code returned by browser instance API proxy routes
enum:
- invalid_request
- unauthorized
- forbidden
- session_not_leased
- not_found
- conflict
- session_gone
- rate_limit_exceeded
- internal_error
- browser_unavailable
type: string
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)