B2B Intelligence

API Documentation Endpoint

/extract/json

Schema for individual API endpoint entries extracted from API documentation pages.

Download the schemab2b-intel/api-documentation-endpoint.json

api-documentation-endpoint.schema

// names marked ? are optional

company_name:string// Name of the company providing the API. Commonly found in: docs page header, API brand name, site logo.
company_domain?:string// Website domain of the API provider. Commonly found in: site URL, docs URL domain, canonical URL.
api_name?:string// Name of the API product. Commonly found in: API docs header, API product name, breadcrumb.
api_version?:string// Version of the API (e.g., v1, 2024-01-01). Commonly found in: API version badge, docs navigation, URL path.
endpoint_path:string// URL path of the API endpoint (e.g., /v1/users/{id}). Commonly found in: endpoint path display, API reference heading, code snippet URL.
http_method:string// HTTP method for the endpoint. Commonly found in: HTTP method badge, endpoint label, code example. One of: GET, POST, PUT, PATCH, DELETE, other.
title?:string// Short title or name for the endpoint. Commonly found in: endpoint section heading, API reference title, sidebar navigation item.
description?:string// Description of what the endpoint does. Commonly found in: endpoint description text, API reference body, docs paragraph.
auth_type?:string// Authentication type required for this endpoint. Commonly found in: authentication section, auth badge, security requirements. One of: api_key, oauth2, bearer, basic, none, other.
parameters?:object[]// List of request parameters for this endpoint. Commonly found in: parameters table, request parameters section, query params list.
name:string// Parameter name.
location?:string// Where the parameter is passed (query, path, header, body).
type?:string// Data type of the parameter.
required?:boolean// Whether this parameter is required.
description?:string// Description of the parameter.
example?:string// Example value for the parameter.
request_body_schema?:object// JSON Schema or description of the request body. Commonly found in: request body section, body schema table, example request.
response_codes?:object[]// HTTP response codes returned by this endpoint. Commonly found in: response codes table, returns section, status codes list.
code:number// HTTP status code.
description?:string// Description of this response code.
rate_limit_requests?:number// Number of requests allowed in the rate limit window. Commonly found in: rate limits section, throttling details, API limits table.
rate_limit_window?:string// Time window for the rate limit (e.g., '1 minute', '1 hour'). Commonly found in: rate limits section, throttling details, API limits table.
is_deprecated?:boolean// Whether this endpoint is deprecated. Commonly found in: deprecated badge, deprecation notice, endpoint warning banner.
deprecation_date?:string// Date this endpoint was or will be deprecated. Commonly found in: deprecation notice date, sunset date field, migration guide.
docs_url?:string// URL of the documentation page for this endpoint. Commonly found in: canonical link, docs navigation link, source page URL.
page_title?:string// Title of the source page. Tabstack auto-fills this from page metadata when left empty.
favicon?:string// Favicon URL of the source page. Tabstack auto-fills this from page metadata when left empty.

Try it live

A sample API Documentation Endpoint document, generated from the schema. Edit it, or paste a real response, and see it checked against the schema instantly. It runs in your browser, nothing is sent anywhere.

your-output.json
validation

Valid, matches API Documentation Endpoint

Every required field is present and each value matches its type. Extra fields are allowed. A field the page does not carry is not guaranteed to come back as null, so check values rather than only checking for null.

/extract/json

Copy-paste usage

The same call in TypeScript, Python, and curl. Point it at your own URL and go. The schema drives the response, so you get back the fields you asked for instead of a page to parse.

Features

  • Typed TypeScript and Python SDKs
  • One call, no parsing code and no second LLM pass
  • The same field names on every request, even when the page layout changes
api-documentation-endpoint.ts
// curl -sfLO https://raw.githubusercontent.com/Mozilla-Ocho/tabstack-schemas/main/b2b-intel/api-documentation-endpoint.json
import Tabstack from '@tabstack/sdk'
import schema from './api-documentation-endpoint.json' with { type: 'json' }

const client = new Tabstack() // reads TABSTACK_API_KEY from the environment

try {
  const data = await client.extract.json({
    url: 'https://example.com/pricing',
    json_schema: schema,
    effort: 'standard', // 'min' | 'standard' | 'max'
  })

  console.log(data)
} catch (err) {
  console.error('Extraction failed:', err)
}

Ship this schema in one call.

Pass a URL, get matching JSON back. Free to start, no extraction layer to maintain.