Download OpenAPI specification:Download
The HoundER public API lets you programmatically read and triage findings
discovered by HoundER: credentials, hosts, services, vulnerabilities, and
websites. It's served at api.hounder.io and is currently scoped to
findings — asset, project, and agent management are done through the
platform and aren't yet part of the public
API.
In addition to the filter parameters listed per endpoint below, list
endpoints accept filters on most other fields of the returned resource
(for example hostname, geoIP.asn, or classification.cve on
vulnerabilities). Filters support:
! (e.g. status=!closed)severity=critical,high)>, <, >=, <=
(e.g. classification.cvssScore=>=7)| q | string Free-text search. |
| status | string Enum: "open" "closed" "fp" Filter by status. Prefix with |
| ip | string Filter by IP address. |
| hostname | string Filter by hostname. |
| type | string Enum: "client" "employee" "third_party" "user" Filter by credential type. Prefix with |
| username | string Filter by username. |
| url | string Filter by URL. |
| os | string Filter by the infected host's operating system. |
| stealer | string Filter by infostealer malware name. |
| stealerFamily | string Filter by infostealer malware family. |
| malwarePath | string Filter by the malware's file path on the infected host. |
| page | integer >= 1 Default: 1 |
| limit | integer [ 0 .. 100 ] Default: 10 |
| createdAt | string <date-time> Filter by creation date. Supports comparison prefixes: |
| detectedAt | string <date-time> Filter by detection date. Supports comparison prefixes: |
| infectedAt | string <date-time> Filter by infection date. Supports comparison prefixes: |
| updatedAt | string <date-time> Filter by last-updated date. Supports comparison prefixes: |
{- "status": "success",
- "data": {
- "totalResults": 0,
- "limit": 0,
- "page": 0,
- "totalPages": 0,
- "hasPrevPage": true,
- "hasNextPage": true,
- "prevPage": 0,
- "nextPage": 0,
- "credentials": [
- {
- "credentialId": "string",
- "asset": "string",
- "hostname": "string",
- "ip": "string",
- "os": "string",
- "type": "client",
- "stealer": "string",
- "stealerFamily": "string",
- "malwarePath": "string",
- "url": "string",
- "username": "string",
- "password": "string",
- "status": "open",
- "redacted": true,
- "detectedAt": "2019-08-24T14:15:22Z",
- "infectedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
}{- "status": "success",
- "data": {
- "credential": {
- "credentialId": "string",
- "asset": "string",
- "hostname": "string",
- "ip": "string",
- "os": "string",
- "type": "client",
- "stealer": "string",
- "stealerFamily": "string",
- "malwarePath": "string",
- "url": "string",
- "username": "string",
- "password": "string",
- "status": "open",
- "redacted": true,
- "detectedAt": "2019-08-24T14:15:22Z",
- "infectedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
}Requires a read-write API key. Redacted credentials cannot be updated.
| credentialId required | string |
| status | string Enum: "open" "fp" "closed" |
{- "status": "open"
}{- "status": "success",
- "data": {
- "credential": {
- "credentialId": "string",
- "asset": "string",
- "hostname": "string",
- "ip": "string",
- "os": "string",
- "type": "client",
- "stealer": "string",
- "stealerFamily": "string",
- "malwarePath": "string",
- "url": "string",
- "username": "string",
- "password": "string",
- "status": "open",
- "redacted": true,
- "detectedAt": "2019-08-24T14:15:22Z",
- "infectedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
}| q | string Free-text search. |
| ip | string Filter by IP address. |
| hostname | string Filter by hostname. |
| geoIP.asn | integer Filter by autonomous system number. |
| geoIP.cityName | string Filter by city name. |
| geoIP.countryName | string Filter by country name. |
| geoIP.organization | string Filter by the network organization (from GeoIP data). |
| source | string Filter by discovery source. |
| page | integer >= 1 Default: 1 |
| limit | integer [ 0 .. 100 ] Default: 10 |
| createdAt | string <date-time> Filter by creation date. Supports comparison prefixes: |
| updatedAt | string <date-time> Filter by last-updated date. Supports comparison prefixes: |
{- "status": "success",
- "data": {
- "totalResults": 0,
- "limit": 0,
- "page": 0,
- "totalPages": 0,
- "hasPrevPage": true,
- "hasNextPage": true,
- "prevPage": 0,
- "nextPage": 0,
- "hosts": [
- {
- "hostId": "string",
- "hostname": "string",
- "ip": "string",
- "source": "string",
- "geoIP": {
- "asn": 0,
- "organization": "string",
- "countryISOCode": "string",
- "countryName": "string",
- "cityName": "string",
- "location": {
- "longitude": 0,
- "latitude": 0
}
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
}{- "status": "success",
- "data": {
- "host": {
- "hostId": "string",
- "hostname": "string",
- "ip": "string",
- "source": "string",
- "geoIP": {
- "asn": 0,
- "organization": "string",
- "countryISOCode": "string",
- "countryName": "string",
- "cityName": "string",
- "location": {
- "longitude": 0,
- "latitude": 0
}
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
}| q | string Free-text search. |
| ip | string Filter by IP address. |
| hostname | string Filter by hostname. |
| port | string Filter by port number. |
| geoIP.asn | integer Filter by autonomous system number. |
| geoIP.cityName | string Filter by city name. |
| geoIP.countryName | string Filter by country name. |
| geoIP.organization | string Filter by the network organization (from GeoIP data). |
| source | string Filter by discovery source. |
| tasks | string Filter by the ID of the scan that discovered the finding. |
| page | integer >= 1 Default: 1 |
| limit | integer [ 0 .. 100 ] Default: 10 |
| createdAt | string <date-time> Filter by creation date. Supports comparison prefixes: |
| updatedAt | string <date-time> Filter by last-updated date. Supports comparison prefixes: |
{- "status": "success",
- "data": {
- "totalResults": 0,
- "limit": 0,
- "page": 0,
- "totalPages": 0,
- "hasPrevPage": true,
- "hasNextPage": true,
- "prevPage": 0,
- "nextPage": 0,
- "services": [
- {
- "serviceId": "string",
- "hostname": "string",
- "ip": "string",
- "port": 0,
- "protocol": "string",
- "source": "string",
- "geoIP": {
- "asn": 0,
- "organization": "string",
- "countryISOCode": "string",
- "countryName": "string",
- "cityName": "string",
- "location": {
- "longitude": 0,
- "latitude": 0
}
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
}{- "status": "success",
- "data": {
- "service": {
- "serviceId": "string",
- "hostname": "string",
- "ip": "string",
- "port": 0,
- "protocol": "string",
- "source": "string",
- "geoIP": {
- "asn": 0,
- "organization": "string",
- "countryISOCode": "string",
- "countryName": "string",
- "cityName": "string",
- "location": {
- "longitude": 0,
- "latitude": 0
}
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
}| q | string Free-text search. |
| status | string Enum: "open" "closed" "fp" Filter by status. Prefix with |
| severity | string Enum: "critical" "high" "medium" "low" "info" "unknown" Filter by severity. Prefix with |
| ip | string Filter by IP address. |
| host | string Filter by hostname. |
| port | string Filter by port number. |
| geoIP.asn | integer Filter by autonomous system number. |
| geoIP.cityName | string Filter by city name. |
| geoIP.countryName | string Filter by country name. |
| geoIP.organization | string Filter by the network organization (from GeoIP data). |
| engine | string Filter by detection engine. Use |
| tasks | string Filter by the ID of the scan that discovered the finding. |
| name | string Filter by vulnerability name. |
| tags | string Filter by vulnerability tag. Repeat the parameter to match multiple values. |
| templateID | string Filter by the ID of the detection template/check that raised the finding. |
| classification.cve | string Filter by CVE identifier. |
| classification.cwe | string Filter by CWE identifier. |
| classification.cpe | string Filter by CPE. |
| classification.cvssScore | number Filter by CVSS score. Supports comparison prefixes: |
| classification.epssScore | number Filter by EPSS score. Supports comparison prefixes: |
| classification.epssPercentile | number Filter by EPSS percentile. Supports comparison prefixes: |
| page | integer >= 1 Default: 1 |
| limit | integer [ 0 .. 100 ] Default: 10 |
| createdAt | string <date-time> Filter by creation date. Supports comparison prefixes: |
| updatedAt | string <date-time> Filter by last-updated date. Supports comparison prefixes: |
{- "status": "success",
- "data": {
- "totalResults": 0,
- "limit": 0,
- "page": 0,
- "totalPages": 0,
- "hasPrevPage": true,
- "hasNextPage": true,
- "prevPage": 0,
- "nextPage": 0,
- "vulnerabilities": [
- {
- "vulnId": "string",
- "name": "string",
- "severity": "critical",
- "priority": 0,
- "status": "open",
- "engine": "string",
- "host": "string",
- "ip": "string",
- "port": "string",
- "geoIP": {
- "asn": 0,
- "organization": "string",
- "countryISOCode": "string",
- "countryName": "string",
- "cityName": "string",
- "location": {
- "longitude": 0,
- "latitude": 0
}
}, - "templateID": "string",
- "classification": {
- "cpe": "string",
- "cve": [
- "string"
], - "cvssMetrics": "string",
- "cvssScore": 0,
- "cwe": [
- "string"
], - "epssScore": 0,
- "epssPercentile": 0
}, - "tags": [
- "string"
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
}{- "status": "success",
- "data": {
- "vulnerability": {
- "vulnId": "string",
- "name": "string",
- "severity": "critical",
- "priority": 0,
- "status": "open",
- "engine": "string",
- "host": "string",
- "ip": "string",
- "port": "string",
- "geoIP": {
- "asn": 0,
- "organization": "string",
- "countryISOCode": "string",
- "countryName": "string",
- "cityName": "string",
- "location": {
- "longitude": 0,
- "latitude": 0
}
}, - "templateID": "string",
- "classification": {
- "cpe": "string",
- "cve": [
- "string"
], - "cvssMetrics": "string",
- "cvssScore": 0,
- "cwe": [
- "string"
], - "epssScore": 0,
- "epssPercentile": 0
}, - "tags": [
- "string"
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
}Requires a read-write API key.
| vulnId required | string |
| severity | string Enum: "critical" "high" "medium" "low" "info" "unknown" |
| status | string Enum: "open" "fp" "closed" |
{- "severity": "critical",
- "status": "open"
}{- "status": "success",
- "data": {
- "vulnerability": {
- "vulnId": "string",
- "name": "string",
- "severity": "critical",
- "priority": 0,
- "status": "open",
- "engine": "string",
- "host": "string",
- "ip": "string",
- "port": "string",
- "geoIP": {
- "asn": 0,
- "organization": "string",
- "countryISOCode": "string",
- "countryName": "string",
- "cityName": "string",
- "location": {
- "longitude": 0,
- "latitude": 0
}
}, - "templateID": "string",
- "classification": {
- "cpe": "string",
- "cve": [
- "string"
], - "cvssMetrics": "string",
- "cvssScore": 0,
- "cwe": [
- "string"
], - "epssScore": 0,
- "epssPercentile": 0
}, - "tags": [
- "string"
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
}| q | string Free-text search. |
| ip | string Filter by IP address. |
| hostname | string Filter by hostname. |
| port | string Filter by port number. |
| url | string Filter by URL. |
| geoIP.asn | integer Filter by autonomous system number. |
| geoIP.cityName | string Filter by city name. |
| geoIP.countryName | string Filter by country name. |
| geoIP.organization | string Filter by the network organization (from GeoIP data). |
| htmlTitle | string Filter by the page's HTML title. |
| httpResponseStatusCode | integer Filter by HTTP response status code. Supports comparison prefixes: |
| webServer | string Filter by the web server header value. |
| webTechnologies | string Filter by detected web technology. |
| tlsInfo.sni | string Filter by the TLS certificate's server name indication. |
| tlsInfo.subjectDistinguishedName | string Filter by the TLS certificate's subject distinguished name. |
| tlsInfo.issuerDistinguishedName | string Filter by the TLS certificate's issuer distinguished name. |
| tlsInfo.subjectAlternativeNames | string Filter by one of the TLS certificate's subject alternative names. |
| page | integer >= 1 Default: 1 |
| limit | integer [ 0 .. 100 ] Default: 10 |
| createdAt | string <date-time> Filter by creation date. Supports comparison prefixes: |
| updatedAt | string <date-time> Filter by last-updated date. Supports comparison prefixes: |
{- "status": "success",
- "data": {
- "totalResults": 0,
- "limit": 0,
- "page": 0,
- "totalPages": 0,
- "hasPrevPage": true,
- "hasNextPage": true,
- "prevPage": 0,
- "nextPage": 0,
- "websites": [
- {
- "websiteId": "string",
- "url": "string",
- "hostname": "string",
- "ip": "string",
- "port": "string",
- "geoIP": {
- "asn": 0,
- "organization": "string",
- "countryISOCode": "string",
- "countryName": "string",
- "cityName": "string",
- "location": {
- "longitude": 0,
- "latitude": 0
}
}, - "webServer": "string",
- "webTechnologies": [
- "string"
], - "htmlTitle": "string",
- "httpResponseStatusCode": 0,
- "tlsInfo": {
- "sni": "string",
- "subjectDistinguishedName": "string",
- "issuerDistinguishedName": "string",
- "subjectAlternativeNames": [
- "string"
]
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
}{- "status": "success",
- "data": {
- "website": {
- "websiteId": "string",
- "url": "string",
- "hostname": "string",
- "ip": "string",
- "port": "string",
- "geoIP": {
- "asn": 0,
- "organization": "string",
- "countryISOCode": "string",
- "countryName": "string",
- "cityName": "string",
- "location": {
- "longitude": 0,
- "latitude": 0
}
}, - "webServer": "string",
- "webTechnologies": [
- "string"
], - "htmlTitle": "string",
- "httpResponseStatusCode": 0,
- "tlsInfo": {
- "sni": "string",
- "subjectDistinguishedName": "string",
- "issuerDistinguishedName": "string",
- "subjectAlternativeNames": [
- "string"
]
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
}