HTTP Status Code Checker

Check the live status of up to 10 URLs at once and detect redirects instantly. Give this API a list of up to 10 web addresses and it will visit each one to tell you whether it is working, broken, or redirecting visitors somewhere else. You get back the exact status number (like 200 for OK, 404 for not found, 500 for server error), whether the address redirects, and where it redirects to. Great for finding broken links, verifying website migrations, and running quick SEO audits without writing any code. Pay-per-call at $0.01 USDC over x402 on Base or Solana — no account, no API key. OpenAPI 3.1.0; 1 operation(s): POST /check.

OpenAPI Specification

done-http-status-checker-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: HTTP Status Code Checker
  description: Give this API a list of up to 10 web addresses and it will visit each one to tell you whether it is working,
    broken, or redirecting visitors somewhere else. You get back the exact status number (like 200 for OK, 404 for not found,
    500 for server error), whether the address redirects, and where it redirects to. Great for finding broken links, verifying
    website migrations, and running quick SEO audits without writing any code.
  version: 1.0.0
  contact:
    name: _done
    url: https://forms.gle/5KzuSFH7p8hHtDmz7
    email: info@underscoredone.com
  x-openapi-url: https://http-status-checker.underscoredone.com/openapi.json
  x-logo:
    url: https://underscoredone.com/logo.png
    altText: _done
  x-guidance: 'POST a JSON body with a field called ''urls'' containing a list of 1 to 10 fully-qualified web addresses (must
    start with http:// or https://). Each URL is checked independently. The response is a list of result objects in the same
    order as the input. Each result includes the final status code seen, whether a redirect happened, and the destination
    URL if redirected. If a URL could not be reached at all, the error field explains why. Use statusCode to determine health:
    2xx means OK, 3xx means redirect, 4xx means client error, 5xx means server error. Never assume the output order differs
    from input order.'
  x-ai-instructions: 'POST a JSON body with a field called ''urls'' containing a list of 1 to 10 fully-qualified web addresses
    (must start with http:// or https://). Each URL is checked independently. The response is a list of result objects in
    the same order as the input. Each result includes the final status code seen, whether a redirect happened, and the destination
    URL if redirected. If a URL could not be reached at all, the error field explains why. Use statusCode to determine health:
    2xx means OK, 3xx means redirect, 4xx means client error, 5xx means server error. Never assume the output order differs
    from input order.'
  x-provider: _done — single-purpose utility APIs for developers and AI agents. Pay per call with USDC on Base Mainnet or
    Solana Mainnet.
  x-pricing:
    model: pay-per-call
    currency: USDC
    network: Base Mainnet or Solana Mainnet
    price: $0.01
  x-keywords:
  - network
  - http
  - status
  - checker
  - redirect
  - broken links
  - seo audit
  - link validation
  - website migration
  - url health
  - utility
  - api
  - ai-agent
  - pay-per-call
  - usdc
  - x402
  x-category: http status code
  x-provider-url: https://underscoredone.com
  x-agentcash-auth:
    mode: paid
  x-402:
    price: $0.01
    network: eip155:8453
    asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
    pay_to: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08'
    facilitator: https://api.cdp.coinbase.com/platform/v2/x402
    scheme: exact
    description: Give this API a list of up to 10 web addresses and it will visit each one to tell you whether it is working,
      broken, or redirecting visitors somewhere else. You get back the exact status number (like 200 for OK, 404 for not found,
      500 for server error), whether the address redirects, and where it redirects to. Great for finding broken links, verifying
      website migrations, and running quick SEO audits without writing any code.
    mime_type: application/json
    networks:
    - network: eip155:8453
      asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
      pay_to: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08'
    - network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
      asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
      pay_to: 8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b
paths:
  /check:
    post:
      tags:
      - http status code
      - status code checker
      - is url 404
      - check status code
      - broken link checker
      - 404 checker
      - redirect checker
      - dead link detector
      - url status
      - website status
      - 500 error checker
      - uptime
      - link validation
      summary: Check live status and redirects for up to 10 URLs in one call.
      description: Visit each web address you provide and report back whether it is working, broken, or redirecting to somewhere
        else.
      operationId: check_urls_check_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckRequest'
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckResponse'
              examples:
                success:
                  summary: Successful response
                  value:
                    api_version: 1.0.0
                    results:
                    - url: https://onescales.com
                      statusCode: 200
                      isRedirect: false
                      redirectURL: ''
                      error: ''
                    - url: https://onescales.com/pages/contact
                      statusCode: 200
                      isRedirect: false
                      redirectURL: ''
                      error: ''
        '422':
          description: Unprocessable — a required field is missing or the wrong type. Check the detail field for specifics.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: array
        '402':
          description: Payment required. Send a signed USDC payment on Base Mainnet or Solana Mainnet using the x402 protocol.
          headers:
            X-Payment-Response:
              description: x402 payment challenge — base64-encoded JSON with payment details.
              schema:
                type: string
        '400':
          description: Bad request — your input failed validation or could not be processed. Check the detail field for specifics.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
      x-ai-instructions: 'POST a JSON body with a field called ''urls'' containing a list of 1 to 10 fully-qualified web addresses
        (must start with http:// or https://). Each URL is checked independently. The response is a list of result objects
        in the same order as the input. Each result includes the final status code seen, whether a redirect happened, and
        the destination URL if redirected. If a URL could not be reached at all, the error field explains why. Use statusCode
        to determine health: 2xx means OK, 3xx means redirect, 4xx means client error, 5xx means server error. Never assume
        the output order differs from input order.'
      x-guidance: 'POST a JSON body with a field called ''urls'' containing a list of 1 to 10 fully-qualified web addresses
        (must start with http:// or https://). Each URL is checked independently. The response is a list of result objects
        in the same order as the input. Each result includes the final status code seen, whether a redirect happened, and
        the destination URL if redirected. If a URL could not be reached at all, the error field explains why. Use statusCode
        to determine health: 2xx means OK, 3xx means redirect, 4xx means client error, 5xx means server error. Never assume
        the output order differs from input order.'
      x-payment-info:
        price:
          fixed:
            mode: fixed
            currency: USD
            amount: '0.01'
        protocols:
        - x402: {}
components:
  schemas:
    CheckRequest:
      properties:
        urls:
          items:
            type: string
          type: array
          title: Urls
          description: A list of 1 to 10 web addresses you want to check. Each address must start with http:// or https://.
      type: object
      required:
      - urls
      title: CheckRequest
      example:
        urls:
        - https://onescales.com
        - https://onescales.com/pages/contact
    CheckResponse:
      properties:
        api_version:
          type: string
          title: Api Version
          description: The version of this API.
          default: 1.0.0
        results:
          items:
            $ref: '#/components/schemas/URLResult'
          type: array
          title: Results
          description: One result for each web address you sent in, in the same order.
      type: object
      required:
      - results
      title: CheckResponse
      example:
        api_version: 1.0.0
        results:
        - error: ''
          isRedirect: false
          redirectURL: ''
          statusCode: 200
          url: https://onescales.com
        - error: ''
          isRedirect: false
          redirectURL: ''
          statusCode: 200
          url: https://onescales.com/pages/contact
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    URLResult:
      properties:
        url:
          type: string
          title: Url
          description: The web address that was checked.
        statusCode:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statuscode
          description: The status number returned by the server. 200 means OK, 404 means not found, 500 means server error.
            Null if the address could not be reached.
        isRedirect:
          type: boolean
          title: Isredirect
          description: True if the server told us to go to a different address.
        redirectURL:
          type: string
          title: Redirecturl
          description: The address the server is redirecting to. Empty if there is no redirect.
        error:
          type: string
          title: Error
          description: A plain-English explanation if the address could not be reached. Empty when everything worked.
      type: object
      required:
      - url
      - isRedirect
      - redirectURL
      - error
      title: URLResult
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
  securitySchemes:
    siwx:
      type: apiKey
      in: header
      name: SIGN-IN-WITH-X
      description: CAIP-122 wallet signature for repeat access after payment
servers:
- url: https://http-status-checker.underscoredone.com
  description: Production
tags:
- name: http status code
- name: status code checker
- name: is url 404
- name: check status code
- name: broken link checker
- name: 404 checker
- name: redirect checker
- name: dead link detector
- name: url status
- name: website status
- name: 500 error checker
- name: uptime
- name: link validation
x402Version: 2
x-payment-accepts:
- scheme: exact
  network: eip155:8453
  payTo: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08'
  asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
- scheme: exact
  network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
  payTo: 8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b
  asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v