isMalicious Submit API
Submit new threat intelligence sources
Submit new threat intelligence sources
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/ismalicious-com:ismalicious-com-submit-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
title: Ismalicious Com Submit API
version: 1.2.0
contact:
name: isMalicious Support
url: https://ismalicious.com/support
email: contact@ismalicious.com
license:
name: Proprietary
url: https://ismalicious.com/terms
description: 'Operations tagged submit across 2 of this provider''s published API definitions: ismalicious-com-openapi.json, ismalicious-com-openapi2.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.ismalicious.com
description: Production server
security:
- ApiKeyAuth: []
- BearerAuth: []
- BasicAuth: []
tags:
- name: Submit
description: Submit new threat intelligence sources
paths:
/submit:
post:
tags:
- Submit
summary: Submit Sources
description: 'Submit new threat intelligence sources (max 50 per request) to the
community database. Requires an organization-linked account. Each URL is
probed for reachability before acceptance; already-known URLs are skipped
and counted in `duplicatesSkipped`. Daily submission caps are per plan.
**Categories:** malware, phishing, spam, scam, fraud, botnet, ransomware, c2'
operationId: submitSources
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SubmitSourcesRequest'
required: true
responses:
'200':
description: 'Submission accepted (also returned when every source was already known — `inserted: 0`)'
content:
application/json:
schema:
$ref: '#/components/schemas/SubmitResponse'
'400':
description: No sources provided, more than 50 sources, or unreachable URLs (the latter carries `urls`)
content:
application/json:
schema:
$ref: '#/components/schemas/SubmitErrorResponse'
'401':
description: Unauthorized - Missing or invalid API key, or account has no organization
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Daily submission limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/SubmitQuotaResponse'
servers:
- url: https://api.ismalicious.com
description: Production server
components:
schemas:
ThreatSource:
type: object
description: Threat source submission entry (`api/submit.rs::SubmitSource`)
required:
- name
- type
- url
properties:
category:
type:
- string
- 'null'
description: Threat category (optional)
name:
type: string
description: Name of the threat feed
example: Example Threat Feed
type:
type: string
description: Type of entities in the feed
url:
type: string
description: URL to the threat feed
example: https://example.com/threats-ips.txt
ErrorResponse:
type: object
description: Error response. Some handlers return only `error`.
required:
- error
properties:
error:
type: string
description: Error type
example: Bad Request
message:
type:
- string
- 'null'
description: Detailed error message (not always present)
example: 'Missing required parameter: query'
SubmitSourcesRequest:
type: object
description: Submit sources request body
required:
- sources
properties:
sources:
type: array
items:
$ref: '#/components/schemas/ThreatSource'
SubmitErrorResponse:
type: object
description: 'Submit sources error body. `urls` is present only on the
"Unreachable URLs" rejection.'
required:
- error
properties:
error:
type: string
description: Error type
example: Unreachable URLs
message:
type:
- string
- 'null'
description: Detailed error message
urls:
type:
- array
- 'null'
items:
type: string
description: The URLs that could not be reached (Unreachable URLs error only)
SubmitResponse:
type: object
description: Submit sources response (`api/submit.rs::post`)
required:
- message
- inserted
- duplicatesSkipped
properties:
duplicatesSkipped:
type: integer
format: int64
description: Number of sources skipped because they already exist
minimum: 0
inserted:
type: integer
format: int64
description: Number of sources inserted for review
minimum: 0
message:
type: string
description: Success message
example: Submitted successfully! 2 source(s) are pending admin review.
SubmitQuotaResponse:
type: object
description: Submit sources daily-quota error body
required:
- error
- message
- remaining
properties:
error:
type: string
example: Daily submission limit exceeded
message:
type: string
remaining:
type: integer
format: int64
description: Submissions remaining today
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-KEY
description: Base64 encoded `apiKey:apiSecret`. Get your keys from https://ismalicious.com/app/account
BasicAuth:
type: http
scheme: basic
description: 'Username = apiKey, password = apiSecret. Legacy: any username, password = Base64(apiKey:apiSecret).'
BearerAuth:
type: http
scheme: bearer
description: '`Authorization: Bearer <token>` where token = Base64(apiKey:apiSecret) — the same credential as X-API-KEY.'
sessionCookie:
type: apiKey
in: cookie
name: __Secure-authjs.session-token
description: Authenticated browser session. The claim endpoint also requires a verified email in the database; organization API keys cannot claim watches.
x-refined-from:
- ismalicious-com-openapi.json
- ismalicious-com-openapi2.json