Base URL
All API endpoints are served from the following base URL:Authentication
Every request must include a Bearer token in theAuthorization header:
osm_. See Authentication for full details.
API tokens are generated from your profile settings. Go to Settings → API Tokens → Generate Token to create one.
Rate limits
Request limits are enforced per token, per minute. If you exceed your limit, the API returns429 Too Many Requests. See Rate limits for limits and strategies to handle this.
Available endpoints
Free APIs
GET /check-malicious
Check whether a package, repository, URL, domain, IP, wallet, or container image is flagged as malicious.
GET /query-latest
Retrieve the 100 most recent verified threat reports from any supported ecosystem or threat category.
POST /submit-threat
Submit a new threat report about an asset you confirmed to be malicious.
PUT /modify-threat-report
Update an existing threat report with new information, additional evidence, or corrected metadata.
Paid APIs
GET /threat-feed
Poll for verified threat reports added within a time window.
GET /query-by-username
Find all verified threats associated with a specific publisher or username.
GET /threat-data
Retrieve full threat metadata and all associated Indicators of Compromise for a specific threat UUID.
GET /query-latest-stix
Retrieve the 100 most recent verified threats as a STIX 2.1 bundle for ingestion into a TIP.
GET /anomali-feed
A rolling-window STIX 2.1 bundle purpose-built for Anomali ThreatStream, with IOC-level indicators and relationship SROs.
Response format
All endpoints return JSON. A successful check that finds a malicious resource returns"malicious": true with a details object containing the full threat record. A resource that is not in the database returns "malicious": false with an explanatory message field.

