Huntress External Recon API

Operations about External Recons

Operations 2

GET /v1/external_ports List External Ports #
GET /v1/external_ports/{id} Get External Port #

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/huntress-external-recon-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

huntress-external-recon-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Huntress API Reference External Recon API
  description: '© Huntress - All rights reserved


    Introduction


    Webhook event payloads are available via the dropdown menu above the search bar on this page.'
  version: 1.0.0
servers:
- url: https://api.huntress.io
security:
- basic:
  - basic_auth
tags:
- name: External Recon
  description: Operations about External Recons
paths:
  /v1/external_ports:
    get:
      summary: List External Ports
      description: Shows external port records from External Recon scans associated with your account.
      parameters:
      - in: query
        name: limit
        description: Max number of resources returned in a paged collection. Defaults to 10, with a minimum of 1 and maximum 500.
        required: false
        schema:
          type: integer
          format: int32
          default: 10
          maximum: 500
          minimum: 1
      - in: query
        name: page_token
        description: Token used to request the next page in paginated results. Defaults to 'null'
        required: false
        schema:
          type: string
      - in: query
        name: sort_field
        description: Field to sort by. Defaults to 'id'.
        required: false
        schema:
          type: string
          enum:
          - id
          - port
          - protocol
          - created_at
          - updated_at
          default: id
      - in: query
        name: sort_direction
        description: Sort direction. Defaults to 'desc'.
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      - in: query
        name: organization_id
        description: Filter by organization ID within Huntress account
        required: false
        schema:
          type: integer
          format: int32
      - in: query
        name: protocol
        description: Filter by protocol.
        required: false
        schema:
          type: string
          enum:
          - TCP
          - UDP
      - in: query
        name: port
        description: Filter by port number.
        required: false
        schema:
          type: integer
          format: int32
      - in: query
        name: risky_service
        description: Filter by whether the detected service is considered risky.
        required: false
        schema:
          type: boolean
      - in: query
        name: service
        description: Filter by the detected service name (lowercase Shodan module name, e.g. 'ssh', 'http', 'rdp').
        required: false
        schema:
          type: string
      responses:
        '200':
          description: List External Ports
          content:
            application/json:
              schema:
                type: object
                properties:
                  external_ports:
                    type: array
                    items:
                      $ref: '#/components/schemas/ExternalPort'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                required:
                - external_ports
                - pagination
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalPort'
      tags:
      - External Recon
      operationId: getV1ExternalPorts
  /v1/external_ports/{id}:
    get:
      summary: Get External Port
      description: Shows details on a single external port record associated with your account.
      parameters:
      - in: path
        name: id
        description: External port record ID
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Get External Port
          content:
            application/json:
              schema:
                type: object
                properties:
                  external_port:
                    $ref: '#/components/schemas/ExternalPort'
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalPort'
      tags:
      - External Recon
      operationId: getV1ExternalPortsId
components:
  schemas:
    ExternalPort:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 42
          description: A unique identifier for an external port record.
        ip_address:
          type: string
          example: 203.0.113.5
          description: The public IPv4 address associated with this external port.
        port:
          type: integer
          format: int32
          example: 22
          description: The port number.
        protocol:
          type: string
          example: TCP
          description: The transport protocol (usually TCP or UDP).
        service:
          type: string
          example: ssh
          description: The service or application detected on the port.
        risky_service:
          type: boolean
          example: true
          description: Whether the detected service is considered risky.
        last_scan_at:
          type: string
          format: date-time
          example: '2026-03-15T12:00:00Z'
          description: Timestamp of the last Huntress scan, formatted as per ISO-8601.
        last_external_scan_at:
          type: string
          format: date-time
          example: '2026-03-14T08:00:00Z'
          description: Timestamp of the last external scan, formatted as per ISO-8601.
        organization_ids:
          type: array
          example:
          - 1
          - 5
          description: IDs of organizations associated with this external port that are accessible to the current user.
      description: ExternalPort model
    Pagination:
      type: object
      properties:
        next_page_url:
          type: string
        next_page_token:
          type: string
      description: Pagination model
  securitySchemes:
    basic_auth:
      type: http
      scheme: basic