United Global Ventures Private Limited Scan API

The Scan API from United Global Ventures Private Limited — 1 operation(s) for scan.

GitHub OpenAPI

Operations 1

POST /scan Scan a page or site for WCAG issues #

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/checker-lazynext:checker-lazynext-scan-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

checker-lazynext-scan-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Checker Lazynext Scan API
  version: 1.0.0
  x-repo: https://github.com/Lazynext-AI/accessibility-checker
  description: 'Operations tagged Scan across 2 of this provider''s published API definitions: checker-lazynext-openapi.json, openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.lazynext.com
  description: API host
- url: https://checker.lazynext.com
  description: brand host (same worker)
tags:
- name: Scan
paths:
  /scan:
    post:
      summary: Scan a page or site for WCAG issues
      description: 'Provide `url` (public http/https page — rendered via headless browser at a mobile 390×844 viewport by default; `viewport: "desktop"` opts out) or raw `html` (static rules only). `site: true` crawls same-origin pages — 3 pages free, 10 Pro. Free URL scans consume the 3/day/IP quota; `html` scans do not. A Pro `license` email unlocks higher limits, deeper crawls, and `email_report`.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScanRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScanResult'
        '400':
          description: Provide `{"url"}` or `{"html"}`
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: Free limit reached (3/day) — `upgrade` points at /checkout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: '`html` larger than 512KB'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Daily scan quota exceeded (Pro IP or license ceiling)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: Page fetch/crawl failed — `detail` carries the reason
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Scan
      operationId: postScan
      x-operation-id-source: derived
    servers:
    - url: https://api.lazynext.com
      description: API host
    - url: https://checker.lazynext.com
      description: brand host (same worker)
components:
  schemas:
    Section508:
      type: object
      properties:
        basis:
          type: string
          description: Incorporation basis — 508 defines no web test rules of its own; E205.4 incorporates WCAG 2.0 AA by reference
        conforms:
          type: boolean
          description: true when no WCAG criterion fired
        criteria_failed:
          type: array
          items:
            type: string
          description: Sorted `wcag-*` rule ids that fired
        clauses_implicated:
          type: array
          items:
            type: string
          description: Chapter 3 Functional Performance Criteria (302.x) the failures map onto — the language a VPAT/procurement review cites
        clause_count:
          type: number
      required:
      - basis
      - conforms
      - criteria_failed
      - clauses_implicated
      - clause_count
      description: 36 CFR 1194 clause mapping derived from the WCAG findings
    Error:
      type: object
      properties:
        error:
          type: string
        upgrade:
          type: string
          description: Present on 402 responses — path to /checkout
        detail:
          type: string
        skipped:
          type: array
          items:
            type: string
        report_error:
          type: string
      required:
      - error
    ScanResult:
      type: object
      properties:
        score:
          type: number
          minimum: 0
          maximum: 100
        score_model:
          type: string
          enum:
          - weighted-v1
          description: Scoring model version — weighted-v1 sums findings weighted by WCAG level and detection confidence (warn-class heuristics count half), repeat instances of the same rule at half marginal weight. Level-A confirmed failures still weigh 1.0.
        issues:
          type: array
          items:
            $ref: '#/components/schemas/Issue'
        rendered:
          type: boolean
          description: true when the headless-browser path ran (false = static fallback)
        viewport:
          type: string
          enum:
          - mobile
          - desktop
          description: 'Viewport the render ran at — present only when rendered: true'
        plan:
          type: string
          enum:
          - free
          - pro
        report:
          type: string
          format: uri
          description: Shareable report URL (30-day TTL)
        render_error:
          type: string
          description: Present when rendering failed and the static fallback ran
        site:
          type: boolean
        pages:
          type: array
          items:
            type: object
            properties:
              url:
                type: string
              score:
                type: number
              count:
                type: number
          description: Per-page rollups for site scans
        section508:
          $ref: '#/components/schemas/Section508'
        benchmark:
          type: object
          properties:
            pct:
              type: number
            sites:
              type: number
          description: Percentile vs the public scan corpus — present once ≥10 distinct sites are on record
      required:
      - score
      - issues
      - rendered
      - plan
    ScanRequest:
      type: object
      properties:
        url:
          type: string
          format: uri
          description: Public http/https page. Rendered via headless browser; consumes daily quota.
        html:
          type: string
          description: Raw markup to scan statically (≤512KB, no quota).
        site:
          type: boolean
          description: Crawl same-origin pages (3 free / 10 Pro) and add cross-page checks.
        license:
          type: string
          format: email
          description: Pro purchase email — higher limits, deeper crawls, monitoring.
        email_report:
          type: boolean
          description: 'Pro only: email the report to the license address.'
        viewport:
          type: string
          enum:
          - mobile
          - desktop
          description: Rendered-scan viewport profile — mobile emulates a 390×844 handset (touch + mobile UA, the default); desktop keeps the pre-mobile baseline render. Ignored for `html` scans and site crawls.
    Issue:
      type: object
      properties:
        rule:
          type: string
          description: Emitted rule id — `wcag-N.N.N`, `sec508-*`, or `bp-*` (best practice, not a numbered criterion)
        level:
          type: string
          enum:
          - A
          - AA
          - AAA
          - BP
        message:
          type: string
        url:
          type: string
          description: Per-page attribution on site scans
        recommendation:
          type: string
          description: Fix guidance joined from the ruleset
  securitySchemes:
    LicenseEmail:
      type: apiKey
      in: query
      name: license
      description: Pro purchase email. Entitlement selector, not a secret — see the auth-model note at the top of this document. Sent as a query parameter on GET /monitor and in the JSON body elsewhere.
    ConfirmToken:
      type: apiKey
      in: query
      name: token
      description: Single-use confirmation token emailed to the license address (15-minute TTL). The actual authorization step for /cancel and /monitor mutations.
    UnsubscribeSig:
      type: apiKey
      in: query
      name: sig
      description: HMAC-SHA256 signature over the address (first 24 hex chars), minted by the platform. Prevents third-party unsubscribes.
x-refined-from:
- checker-lazynext-openapi.json
- openapi.json