BusinessMCP Sites API

The sites API from BusinessMCP — 6 operation(s) for sites.

Operations 6

POST /tools/fp.site.ai_readiness/call AI readiness grade #
GET /sites/{domain}/ai-readiness AI readiness grade #
POST /tools/fp.site.ai_crawlers/call AI crawler access #
GET /sites/{domain}/ai-crawlers AI crawler access #
POST /tools/fp.site.webmcp/call WebMCP check #
GET /sites/{domain}/webmcp WebMCP check #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/businessmcp-com:businessmcp-com-sites-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

businessmcp-com-sites-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: BusinessMCP Hub Sites API
  version: 1.0.0
  description: One BusinessMCP API key for company data, IP intelligence, website checks and MCP trust tools. Every call is prepaid and priced in US dollars, paid from the account balance, which is added in any whole-dollar amount from $10 to $5,000; a dollar paid is a dollar of balance and nothing is invoiced afterwards. Send an Idempotency-Key header to make a retry free. The same tools are available over MCP at https://businessmcp.com/api/hub/mcp.
servers:
- url: https://businessmcp.com/api/hub/v1
security:
- bearer: []
tags:
- name: Sites
paths:
  /tools/fp.site.ai_readiness/call:
    post:
      operationId: call_fp_site_ai_readiness
      summary: AI readiness grade
      description: 'Grade how ready a website is for AI crawlers and agents: robots.txt access, llms.txt, structured data, metadata and sitemap, scored 0–100 with a letter grade and a fix list. If the homepage cannot be read, the call fails and is refunded rather than graded.


        Pricing: $0.05 per call.'
      tags:
      - Sites
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/fp_site_ai_readiness'
            example:
              domain: acme.com
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    const: true
                  data: {}
                  meta:
                    $ref: '#/components/schemas/Meta'
                required:
                - ok
                - data
                - meta
                example:
                  ok: true
                  data:
                    ok: true
                    domain: acme.com
                    score: 72
                    grade: C
                    checks: []
                    robotsFound: true
                    robotsState: found
                    homepageFetched: true
                  meta:
                    request_id: b1f0…
                    tool: example
                    cost_usd: $0.02
                    replayed: false
        '400':
          description: Invalid input (not charged)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key
        '402':
          description: Balance too low, or a key spend limit reached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limited
        '503':
          description: Upstream or billing unavailable (refunded)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /sites/{domain}/ai-readiness:
    get:
      operationId: fp_site_ai_readiness
      summary: AI readiness grade
      description: 'Grade how ready a website is for AI crawlers and agents: robots.txt access, llms.txt, structured data, metadata and sitemap, scored 0–100 with a letter grade and a fix list. If the homepage cannot be read, the call fails and is refunded rather than graded.


        Pricing: $0.05 per call.'
      tags:
      - Sites
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    const: true
                  data: {}
                  meta:
                    $ref: '#/components/schemas/Meta'
                required:
                - ok
                - data
                - meta
                example:
                  ok: true
                  data:
                    ok: true
                    domain: acme.com
                    score: 72
                    grade: C
                    checks: []
                    robotsFound: true
                    robotsState: found
                    homepageFetched: true
                  meta:
                    request_id: b1f0…
                    tool: example
                    cost_usd: $0.02
                    replayed: false
        '400':
          description: Invalid input (not charged)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key
        '402':
          description: Balance too low, or a key spend limit reached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limited
        '503':
          description: Upstream or billing unavailable (refunded)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: domain
        in: path
        required: true
        schema:
          type: string
  /tools/fp.site.ai_crawlers/call:
    post:
      operationId: call_fp_site_ai_crawlers
      summary: AI crawler access
      description: 'Check which AI crawlers and agents a website allows in robots.txt, and whether it publishes llms.txt. When robots.txt could not be read, `allowed` is null rather than a guess.


        Pricing: $0.02 per call.'
      tags:
      - Sites
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/fp_site_ai_crawlers'
            example:
              domain: acme.com
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    const: true
                  data: {}
                  meta:
                    $ref: '#/components/schemas/Meta'
                required:
                - ok
                - data
                - meta
                example:
                  ok: true
                  data:
                    ok: true
                    domain: acme.com
                    robotsFound: true
                    robotsState: found
                    llmsTxtFound: false
                    llmsState: absent
                    crawlers:
                    - agent: GPTBot
                      label: OpenAI GPTBot
                      purpose: training
                      allowed: true
                  meta:
                    request_id: b1f0…
                    tool: example
                    cost_usd: $0.02
                    replayed: false
        '400':
          description: Invalid input (not charged)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key
        '402':
          description: Balance too low, or a key spend limit reached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limited
        '503':
          description: Upstream or billing unavailable (refunded)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /sites/{domain}/ai-crawlers:
    get:
      operationId: fp_site_ai_crawlers
      summary: AI crawler access
      description: 'Check which AI crawlers and agents a website allows in robots.txt, and whether it publishes llms.txt. When robots.txt could not be read, `allowed` is null rather than a guess.


        Pricing: $0.02 per call.'
      tags:
      - Sites
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    const: true
                  data: {}
                  meta:
                    $ref: '#/components/schemas/Meta'
                required:
                - ok
                - data
                - meta
                example:
                  ok: true
                  data:
                    ok: true
                    domain: acme.com
                    robotsFound: true
                    robotsState: found
                    llmsTxtFound: false
                    llmsState: absent
                    crawlers:
                    - agent: GPTBot
                      label: OpenAI GPTBot
                      purpose: training
                      allowed: true
                  meta:
                    request_id: b1f0…
                    tool: example
                    cost_usd: $0.02
                    replayed: false
        '400':
          description: Invalid input (not charged)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key
        '402':
          description: Balance too low, or a key spend limit reached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limited
        '503':
          description: Upstream or billing unavailable (refunded)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: domain
        in: path
        required: true
        schema:
          type: string
  /tools/fp.site.webmcp/call:
    post:
      operationId: call_fp_site_webmcp
      summary: WebMCP check
      description: 'Check whether a website carries a live WebMCP origin-trial token and registers tools for browser agents. Reads the served HTML only and does not run JavaScript; the note says what that means for the result.


        Pricing: $0.02 per call.'
      tags:
      - Sites
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/fp_site_webmcp'
            example:
              domain: acme.com
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    const: true
                  data: {}
                  meta:
                    $ref: '#/components/schemas/Meta'
                required:
                - ok
                - data
                - meta
                example:
                  ok: true
                  data:
                    ok: true
                    domain: acme.com
                    reachable: true
                    verdict: none
                    note: We read the served HTML only.
                  meta:
                    request_id: b1f0…
                    tool: example
                    cost_usd: $0.02
                    replayed: false
        '400':
          description: Invalid input (not charged)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key
        '402':
          description: Balance too low, or a key spend limit reached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limited
        '503':
          description: Upstream or billing unavailable (refunded)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /sites/{domain}/webmcp:
    get:
      operationId: fp_site_webmcp
      summary: WebMCP check
      description: 'Check whether a website carries a live WebMCP origin-trial token and registers tools for browser agents. Reads the served HTML only and does not run JavaScript; the note says what that means for the result.


        Pricing: $0.02 per call.'
      tags:
      - Sites
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    const: true
                  data: {}
                  meta:
                    $ref: '#/components/schemas/Meta'
                required:
                - ok
                - data
                - meta
                example:
                  ok: true
                  data:
                    ok: true
                    domain: acme.com
                    reachable: true
                    verdict: none
                    note: We read the served HTML only.
                  meta:
                    request_id: b1f0…
                    tool: example
                    cost_usd: $0.02
                    replayed: false
        '400':
          description: Invalid input (not charged)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key
        '402':
          description: Balance too low, or a key spend limit reached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limited
        '503':
          description: Upstream or billing unavailable (refunded)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: domain
        in: path
        required: true
        schema:
          type: string
components:
  schemas:
    fp_site_ai_crawlers:
      type: object
      properties:
        domain:
          type: string
          minLength: 3
          maxLength: 253
      required:
      - domain
      additionalProperties: false
    fp_site_webmcp:
      type: object
      properties:
        domain:
          type: string
          minLength: 3
          maxLength: 253
      required:
      - domain
      additionalProperties: false
    Error:
      type: object
      properties:
        ok:
          const: false
        error:
          type: object
          properties:
            code:
              type: string
              enum:
              - not_permitted
              - quota_exceeded
              - plan_required
              - not_found
              - invalid_input
              - upstream_failed
              - backend_unavailable
              - unavailable
              - internal
            message:
              type: string
            hint:
              type: string
            retryable:
              type: boolean
            upgrade_url:
              type: string
            details:
              type: object
          required:
          - code
          - message
          - retryable
      required:
      - ok
      - error
    Meta:
      type: object
      properties:
        request_id:
          type: string
        tool:
          type: string
        provider:
          type: string
          enum:
          - first_party
          - vendor
          - publisher
        trust_tier:
          type: string
        cost_usd:
          type: string
          description: What this call cost, e.g. "$0.02".
        trial_usd:
          type: string
          description: The part of the cost paid from promotional balance (always $0 for accounts opened after 2026-10-21).
        paid_usd:
          type: string
          description: The part of the cost the purchased balance paid.
        replayed:
          type: boolean
        balance_usd:
          type: string
          description: Purchased balance left after the call.
        trial_left_usd:
          type: string
          description: Promotional balance left after the call, when any.
      required:
      - request_id
      - tool
      - cost_usd
      - replayed
    fp_site_ai_readiness:
      type: object
      properties:
        domain:
          type: string
          minLength: 3
          maxLength: 253
      required:
      - domain
      additionalProperties: false
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: A BusinessMCP API key (mcph_…).