PostureIQby EmDash Cyber
Checking scanner
API & MCP
PUBLIC DATA ACCESS

Connect to PostureIQ.

Read stored domain measurements through the API or an MCP-compatible client. No account or API key is required.

Connect with MCP

https://postureiq.emdashcyber.com/mcp
Transport
Streamable HTTP
Authentication
None · public, read-only reports

Connection instructions

  1. Open your assistant’s MCP server settings.
  2. Add a remote server named PostureIQ.
  3. Paste the server URL, choose Streamable HTTP, and select no authentication.

Cloud-hosted clients require the deployed HTTPS URL. Localhost works only for clients that can reach this computer.

Tools and examples

The server provides these read-only tools:

  • search_domains
  • get_domain_report
  • get_domain_history
  • get_measurement
  • get_observatory_stats
  • get_scanner_status
  • get_methodology

Try asking: “Explain the public security signals for an Australian domain, including measurement dates and unknown controls.”

Tool results contain structured public data, measurement timestamps where applicable and a dashboard link. Calls never start scans or change records. Modern stateless MCP and supported legacy Streamable HTTP clients can connect. No legacy standalone SSE endpoint is provided.

Use the REST API

Download the OpenAPI 3.1 specification for query parameters, response schemas and error responses. Public data endpoints support GET, HEAD and OPTIONS, including credential-free cross-origin reads.

ENDPOINTDATA
GET /api/v1/domainsSearch and filter domains. Default: Tranco rank ascending, 25 results per page.
GET /api/v1/domains/{domain}Latest measurement, selected findings, evidence and remediation.
GET /api/v1/domains/{domain}/historyNewest-first measurement history. Default 52 results; pageSize accepts 1–100.
GET /api/v1/domains/{domain}/scans/{scanId}Historical measurement and findings for the specified domain.
GET /api/v1/statsCoverage, posture distribution and weekly trends with readiness state.
GET /api/v1/statusScanner availability, active jobs and eligible queued scans.

Request examples

Search for incomplete measurements

curl 'https://postureiq.emdashcyber.com/api/v1/domains?scanState=incomplete&sort=trancoRank&pageSize=25'

Read a report and its history

curl 'https://postureiq.emdashcyber.com/api/v1/domains/google.com.au'
curl 'https://postureiq.emdashcyber.com/api/v1/domains/google.com.au/history?page=1&pageSize=10'

Use an ID from the history response to fetch that domain’s historical measurement. A measurement belonging to a different domain returns 404. Excluded domains are unavailable.

Search and pagination

Directory filters combine with AND: domain substring, scan state, score range, freshness, .au namespace, first-added source and individual scored check statuses. Check filters refer to the latest apex measurement. Available sorts are domain name, score, last measurement, discovery date and Tranco rank; unavailable values sort last. Directory pages accept 25, 50 or 100 results. Responses include the effective query, total results and page count. Pagination is stable for unchanged data; scans and new admissions can change results between requests.

Interpret measurements carefully

A null current score means the measurement is incomplete, not zero. A retained complete score has its own timestamp and can be older than the latest measurement. Unknown controls must not be treated as passes or failures. Weekly averages exclude unknown scores and compare the fully applicable population; coverage and completeness counts remain separate.

These are stored observations, not live guarantees. Automatic scans run seven days after the preceding persisted measurement. Measurements are retained for 12 months; detailed evidence for 90 days. Historical evidence can therefore be null. Read the full methodology.

Limits and errors

REST data queries and MCP tool calls share a configurable allowance of 120 queries per minute per client IP. MCP transport metadata has a separate allowance of 120 requests per minute. Enforcement is approximate and location-based; clients sharing an Internet address share its allowance.

MCP request bodies are limited to 64 KiB and tool results to 512 KiB. Request smaller pages if a result is too large. No bulk download is provided.

  • 400: invalid input or query parameters.
  • 404: domain or measurement unavailable.
  • 429: query allowance reached; wait for the Retry-After interval, normally 60 seconds.
  • 503: data temporarily unavailable; retry with backoff.

MCP returns corresponding protocol or tool errors. Browser-based MCP clients must have their exact Origin allowlisted by the operator; server-side MCP clients may omit Origin. Read-only data access remains available during maintenance when the database is available.