Entitylight Watches API

The Watches API from Entitylight — 2 operation(s) for watches.

Operations 4

GET /watches List watched businesses #
POST /watches Watch a business #
PATCH /watches/{watchId} Change how often a business is checked, or until when #
DELETE /watches/{watchId} Stop watching a business #

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/entitylight:entitylight-watches-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

entitylight-watches-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Entitylight Watches API
  version: 1.0.0
  description: Look up a business's Secretary of State record, UCC filings and court cases, with names as filed, and watch businesses for new filings and lawsuits.
servers:
- url: https://api.entitylight.com/v1
security:
- apiKey: []
tags:
- name: Watches
paths:
  /watches:
    get:
      summary: List watched businesses
      responses:
        '200':
          description: Active watches, newest first
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Watch'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: More than 60 requests a minute for this key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Watches
      operationId: getWatches
      x-operation-id-source: derived
    post:
      summary: Watch a business
      description: With lookupId, the completed lookup becomes the baseline and nothing new runs. With businessName and state, the first check runs at once and sets the baseline. Later checks run every checkEveryDays days until endsAt, and each sends watch.checked with changes to the state record and filings and suits first seen since the baseline. An email goes to owners and admins when a check finds something. Each completed check counts as one lookup; when the plan has none left, checks pause (pausedAt) and resume once it does.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WatchRequest'
      responses:
        '200':
          description: This business is already watched
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Watch'
        '201':
          description: Watching
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Watch'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: The plan's watch limit is reached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No lookup with that lookupId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Invalid fields, or the lookup found no business
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: More than 60 requests a minute for this key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Watches
      operationId: postWatches
      x-operation-id-source: derived
  /watches/{watchId}:
    patch:
      summary: Change how often a business is checked, or until when
      parameters:
      - name: watchId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WatchUpdate'
      responses:
        '200':
          description: Changed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Watch'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No active watch with that id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Invalid fields
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: More than 60 requests a minute for this key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Watches
      operationId: patchWatchesByWatchId
      x-operation-id-source: derived
    delete:
      summary: Stop watching a business
      parameters:
      - name: watchId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Stopped
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No active watch with that id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: More than 60 requests a minute for this key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Watches
      operationId: deleteWatchesByWatchId
      x-operation-id-source: derived
components:
  schemas:
    WatchUpdate:
      type: object
      properties:
        checkEveryDays:
          description: Days between checks, 1 to 30. The next check moves to the last check plus this many days.
          type: integer
          minimum: 1
          maximum: 30
        endsAt:
          description: ISO 8601, or null to check until the watch is stopped
          anyOf:
          - type: string
            format: date-time
            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
          - type: 'null'
    WatchRequest:
      type: object
      properties:
        lookupId:
          description: Watch the business a completed lookup found. That lookup becomes the first check, so nothing new is searched or charged. Send this or businessName and state.
          type: string
          format: uuid
          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        businessName:
          description: The business's legal name; its first check runs now and counts as a lookup
          type: string
          minLength: 2
          maxLength: 200
        sosId:
          description: 'With businessName: watch that one registration'
          type: string
          minLength: 1
          maxLength: 40
        state:
          description: Two-letter US state code, such as FL
          type: string
        checkEveryDays:
          default: 7
          description: Days between checks, 1 to 30. 7 when left out.
          type: integer
          minimum: 1
          maximum: 30
        endsAt:
          description: ISO 8601. Stop checking after this time. Checks run until the watch is stopped when left out.
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
        webhookUrl:
          description: An https URL that gets this watch's watch.checked events instead of the organization's webhook
          type: string
          maxLength: 2048
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            issues:
              type: array
              items:
                type: object
                properties:
                  path:
                    type: string
                  message:
                    type: string
                required:
                - path
                - message
                additionalProperties: false
          required:
          - code
          - message
          additionalProperties: false
      required:
      - error
      additionalProperties: false
    Watch:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        businessName:
          type: string
        sosId:
          description: The registration watched; null when the watch follows a name
          type:
          - string
          - 'null'
        state:
          type: string
          enum:
          - AL
          - AK
          - AZ
          - AR
          - CA
          - CO
          - CT
          - DE
          - DC
          - FL
          - GA
          - HI
          - ID
          - IL
          - IN
          - IA
          - KS
          - KY
          - LA
          - ME
          - MD
          - MA
          - MI
          - MN
          - MS
          - MO
          - MT
          - NE
          - NV
          - NH
          - NJ
          - NM
          - NY
          - NC
          - ND
          - OH
          - OK
          - OR
          - PA
          - RI
          - SC
          - SD
          - TN
          - TX
          - UT
          - VT
          - VA
          - WA
          - WV
          - WI
          - WY
        active:
          type: boolean
        checkEveryDays:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        endsAt:
          description: ISO 8601
          type:
          - string
          - 'null'
        webhookUrl:
          description: Where this watch's watch.checked events go; the organization's webhook when null
          type:
          - string
          - 'null'
        nextCheckAt:
          type: string
          description: ISO 8601
        lastCheckedAt:
          description: ISO 8601
          type:
          - string
          - 'null'
        lastLookupId:
          anyOf:
          - type: string
            format: uuid
            pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          - type: 'null'
          description: The latest check; read its coverage to see whether every source was searched
        pausedAt:
          description: ISO 8601. Set while checks are paused because the plan has no lookups left; they resume once it does
          type:
          - string
          - 'null'
      required:
      - id
      - businessName
      - sosId
      - state
      - active
      - checkEveryDays
      - endsAt
      - webhookUrl
      - nextCheckAt
      - lastCheckedAt
      - lastLookupId
      - pausedAt
      additionalProperties: false
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer