UpGuard typosquat API

The typosquat API from UpGuard — 2 operation(s) for typosquat.

Operations 2

GET /typosquat List typosquat domains #
GET /typosquat/details Retrieve typosquat details for a domain. #

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/upguard-typosquat-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

upguard-typosquat-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'Access information from the CyberRisk platform programmatically using this API.


    You can find or generate an API key to access this API in your CyberRisk Account Settings.

    Please authorize all requests by setting the "Authorization" header to your api key.


    The base url for all public endpoints is https://cyber-risk.upguard.com/api/public'
  title: UpGuard CyberRisk breaches Typosquat API
  version: 1.13.2
servers:
- url: https://cyber-risk.upguard.com/api/public
security:
- API key in header: []
tags:
- name: typosquat
paths:
  /typosquat:
    get:
      description: 'Returns the list of enabled typosquatting domains.


        Required API key permissions: `BreachRisk` (select when creating API key in Account Settings)'
      tags:
      - typosquat
      summary: List typosquat domains
      operationId: listTyposquatDomains
      responses:
        '200':
          description: A list of typosquat domains
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTyposquatResponsePayloadBody'
        '429':
          description: Too many requests have been made to this endpoint.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpointError'
        '500':
          description: An internal system error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpointError'
  /typosquat/details:
    get:
      description: 'If the requested domain is not enabled a 404 will be returned.

        Use the /typosquat to retrieve the list of enabled domains first.


        Required API key permissions: `BreachRisk` (select when creating API key in Account Settings)'
      tags:
      - typosquat
      summary: Retrieve typosquat details for a domain.
      operationId: typosquat_details
      parameters:
      - description: The domain for which to return typosquat details. e.g. "upguard.com"
        name: domain
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A list of typosquat domains
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTyposquatDetailsResponsePayloadBody'
        '404':
          description: The requested domain is not enabled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpointError'
        '422':
          description: An invalid parameter was supplied or a mandatory parameter was missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpointError'
        '429':
          description: Too many requests have been made to this endpoint.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpointError'
        '500':
          description: An internal system error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpointError'
components:
  schemas:
    TyposquatHostnameDNSBlocklists:
      type: object
      properties:
        dns_blocklists:
          description: The list of DNS blocklists the hostname was found on
          type: array
          items:
            $ref: '#/components/schemas/TyposquatDNSBlocklist'
        hostname:
          description: The hostname associated with the permutation
          type: string
    PermutationType:
      type: string
    TyposquatPermutationDetail:
      type: object
      properties:
        a_records:
          description: The list of A records associated with the permutation. If no A records are associated with the permutation this field will be omitted.
          type: array
          items:
            type: string
        country:
          description: The country where the permutation is registered. If missing the field will be omitted.
          type: string
        date_detected:
          description: The date the registered permutation was detected in RFC3339 format. If missing this field will be omitted.
          type: string
          format: date-time
          example: '2006-01-02T15:04:05.999999Z'
        hostname:
          description: The hostname of the permutation
          type: string
        hostname_dns_blocklists:
          description: The list of associated hostnames found on DNS blocklists and the blocklists they were found on. If no DNS blocklists are associated with the permutation this field will be omitted.
          type: array
          items:
            $ref: '#/components/schemas/TyposquatHostnameDNSBlocklists'
        mx_records:
          description: The list of MX records associated with the permutation. If no MX records are associated with the permutation this field will be omitted.
          type: array
          items:
            type: string
        ns_records:
          description: The list of NS records associated with the permutation. If no NS records are associated with the permutation this field will be omitted.
          type: array
          items:
            type: string
        permutation_type:
          $ref: '#/components/schemas/PermutationType'
    TyposquatDomain:
      type: object
      properties:
        added_at:
          description: The date the domain was added to typosquatting in RFC3339 format.
          type: string
          format: date-time
          example: '2006-01-02T15:04:05.999999Z'
        domain:
          description: The typosquat domain
          type: string
        last_scanned_at:
          description: The date of last scan for this domain in RFC3339 format. Absent if the domain has never been scanned.
          type: string
          format: date-time
          example: '2006-01-02T15:04:05.999999Z'
        num_registered:
          description: The number of registered permutations for this domain
          type: integer
          format: int64
        num_unregistered:
          description: The number of unregistered permutations for this domain
          type: integer
          format: int64
        primary_domain:
          description: Flag indicating whether the domain is the primary domain for the account
          type: boolean
    GetTyposquatResponsePayloadBody:
      type: object
      properties:
        domains:
          description: The list of enabled typosquat domains
          type: array
          items:
            $ref: '#/components/schemas/TyposquatDomain'
    TyposquatDNSBlocklist:
      type: object
      properties:
        activity:
          description: The suspected malicious activity associated with the DNS blocklist
          type: string
        name:
          description: The name of the DNS blocklist
          type: string
    endpointError:
      description: Error details coming from an endpoint
      type: object
      properties:
        error:
          description: A description of the error
          type: string
    GetTyposquatDetailsResponsePayloadBody:
      type: object
      properties:
        ignored:
          description: The list of ignored permutations
          type: array
          items:
            $ref: '#/components/schemas/TyposquatPermutationDetail'
        registered:
          description: The list of registered permutations
          type: array
          items:
            $ref: '#/components/schemas/TyposquatPermutationDetail'
        unregistered:
          description: The list of unregistered permutations
          type: array
          items:
            $ref: '#/components/schemas/TyposquatPermutationDetail'
  securitySchemes:
    API_key_in_header:
      type: apiKey
      in: header
      name: Authorization