The articles endpoint aggregates cybersecurity news from 30+ sources — including CISA alerts, vendor advisories, and independent threat research — into a single paginated feed. You can filter by category, severity, threat actor, or MITRE technique, run full-text searches, and poll incrementally using theDocumentation Index
Fetch the complete documentation index at: https://docs.socdefenders.ai/llms.txt
Use this file to discover all available pages before exploring further.
since parameter to retrieve only new content since your last request.
Endpoint
Method:GET https://socdefenders.ai/api/v1/articles
Authentication: Required — pass your API key in the Authorization header as a Bearer token.
Tier: Free. Bulk export in NDJSON or CSV format requires a Pro subscription.
Query parameters
Full-text search query. Matches against article titles, summaries, and extracted tags.
Filter by article category. Common values:
vulnerabilities, malware, threat-intelligence, data-breaches, ransomware.Filter by severity level. Accepted values:
critical, high, medium, low.ISO 8601 timestamp. Returns only articles published after this time. Use for delta polling — see the note below.
Pagination cursor returned in
meta.next_cursor from a previous response. Pass this value to retrieve the next page of results.Number of results per page. Maximum is 100 on the Free tier and 1,000 on Pro.
When
true, returns only articles that have extracted indicators of compromise (IOCs).Filter by threat actor name, for example
APT28 or Lazarus Group.Filter by targeted industry sector, for example
healthcare, finance, or energy.Filter by MITRE ATT&CK technique ID, for example
T1566 (Phishing).Response format. Accepted values:
json (default), ndjson, csv. NDJSON and CSV bulk export require a Pro subscription.Example request
Example response
Response fields
Pagination metadata for the response.
Array of article objects matching the query.
Delta polling
To continuously ingest new articles without re-fetching old ones, record the highestpublished_at value from each response and pass it as the since parameter on your next request. This returns only articles published after that timestamp, making it efficient to poll on a schedule.