AbuseIPDB · Arazzo Workflow

AbuseIPDB Block Scan And Check

Version 1.0.0

Scan a CIDR network block for reported addresses and deep-check the most abusive host.

1 workflow 1 source API 1 provider
View Spec View on GitHub Anti MalwareBlacklistCybersecurityIP ReputationNetwork SecurityPublic APIsThreat IntelligenceArazzoWorkflows

Provider

abuseipdb

Workflows

block-scan-and-check
Check a CIDR block, then run a detailed check on the first reported address found.
Queries a CIDR network for its reported addresses and, when at least one reported host exists, runs a verbose single-IP check on that host to retrieve its full abuse profile including recent reports.
2 steps inputs: apiKey, maxAgeInDays, network outputs: hostIp, hostScore, networkAddress
1
checkBlock
Check the CIDR network range and collect the list of reported addresses it contains so the worst host can be investigated individually.
2
checkHost
Run a verbose single-IP check on the first reported address from the block to pull its full reputation record and most recent reports.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: AbuseIPDB Block Scan And Check
  summary: Scan a CIDR network block for reported addresses and deep-check the most abusive host.
  description: >-
    A triage pattern for network ranges. The workflow checks a CIDR block to
    surface the addresses inside it that have abuse reports, then takes the first
    reported host from that range and runs a full single-IP check against it to
    pull its complete reputation profile. This turns a coarse block-level scan
    into an actionable, host-level investigation. Every step spells out its
    request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: reputationApi
  url: ../openapi/abuseipdb-reputation-api-openapi.yml
  type: openapi
workflows:
- workflowId: block-scan-and-check
  summary: Check a CIDR block, then run a detailed check on the first reported address found.
  description: >-
    Queries a CIDR network for its reported addresses and, when at least one
    reported host exists, runs a verbose single-IP check on that host to retrieve
    its full abuse profile including recent reports.
  inputs:
    type: object
    required:
    - apiKey
    - network
    properties:
      apiKey:
        type: string
        description: AbuseIPDB API key supplied via the Key header.
      network:
        type: string
        description: A CIDR network range to scan (e.g. 192.0.2.0/24).
      maxAgeInDays:
        type: integer
        description: Restrict reports considered to the last N days (1-365).
        default: 30
  steps:
  - stepId: checkBlock
    description: >-
      Check the CIDR network range and collect the list of reported addresses it
      contains so the worst host can be investigated individually.
    operationId: checkBlock
    parameters:
    - name: Key
      in: header
      value: $inputs.apiKey
    - name: network
      in: query
      value: $inputs.network
    - name: maxAgeInDays
      in: query
      value: $inputs.maxAgeInDays
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      networkAddress: $response.body#/data/networkAddress
      firstReportedIp: $response.body#/data/reportedAddress/0/ipAddress
    onSuccess:
    - name: hasReportedHosts
      type: goto
      stepId: checkHost
      criteria:
      - context: $response.body
        condition: $.data.reportedAddress.length > 0
        type: jsonpath
    - name: cleanBlock
      type: end
      criteria:
      - context: $response.body
        condition: $.data.reportedAddress.length == 0
        type: jsonpath
  - stepId: checkHost
    description: >-
      Run a verbose single-IP check on the first reported address from the block
      to pull its full reputation record and most recent reports.
    operationId: checkIp
    parameters:
    - name: Key
      in: header
      value: $inputs.apiKey
    - name: ipAddress
      in: query
      value: $steps.checkBlock.outputs.firstReportedIp
    - name: maxAgeInDays
      in: query
      value: $inputs.maxAgeInDays
    - name: verbose
      in: query
      value: true
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      hostIp: $response.body#/data/ipAddress
      abuseConfidenceScore: $response.body#/data/abuseConfidenceScore
      totalReports: $response.body#/data/totalReports
  outputs:
    networkAddress: $steps.checkBlock.outputs.networkAddress
    hostIp: $steps.checkHost.outputs.hostIp
    hostScore: $steps.checkHost.outputs.abuseConfidenceScore

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/abuseipdb-block-scan-and-check-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API 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.