URL Scanner (Deprecated)

Copy Markdown View Source

Get raw response

GET /accounts/{account_id}/urlscanner/response/{response_id}

Returns the plain response of the network request.

Responses

200 When har.log.entries[].response._cf.contentAvailable is true, use response._cf.hash value to fetch the raw response.

Data is at body["result"]

400 Invalid params.

{
  "errors": [
    {
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "message": "*string*"
    }
  ],
  "success": "*boolean*"
}

404 Scan not found.

{
  "errors": [
    {
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "message": "*string*"
    }
  ],
  "success": "*boolean*"
}

Create URL Scan

POST /accounts/{account_id}/urlscanner/scan

Submit a URL to scan. You can also set some options, like the visibility level and custom headers. Check limits at https://developers.cloudflare.com/security-center/investigate/scan-limits/.

Responses

200 Scan request accepted successfully.

Data is at body["result"]

{
  "time": "*string*",
  "url": "*string*",
  "uuid": "*string*",
  "visibility": "*string*"
}

400 Invalid params.

{
  "errors": [
    {
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "message": "*string*"
    }
  ],
  "success": "*boolean*"
}

409 Scan request denied: hostname was recently scanned.

{
  "errors": [
    {
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "message": "*string*"
    }
  ],
  "result": {
    "tasks": [
      {
        "clientLocation": "*string*",
        "clientType": "*string*",
        "effectiveUrl": "*string*",
        "errors": [
          {
            "message": null
          }
        ],
        "scannedFrom": {
          "colo": "*string*"
        },
        "status": "*string*",
        "success": "*boolean*",
        "time": "*string*",
        "timeEnd": "*string*",
        "url": "*string*",
        "uuid": "*string*",
        "visibility": "*string*"
      }
    ]
  },
  "success": "*boolean*"
}

429 Scan request denied: rate limited.

{
  "errors": [
    {
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "message": "*string*"
    }
  ],
  "success": "*boolean*"
}

Search URL scans

GET /accounts/{account_id}/urlscanner/scan

Search scans by date and webpages' requests, including full URL (after redirects), hostname, and path. <br/> A successful scan will appear in search results a few minutes after finishing but may take much longer if the system in under load. By default, only successfully completed scans will appear in search results, unless searching by scanId. Please take into account that older scans may be removed from the search index at an unspecified time.

Responses

200 Search results

Data is at body["result"]

{
  "tasks": [
    {
      "country": "*string*",
      "success": "*boolean*",
      "time": "*string*",
      "url": "*string*",
      "uuid": "*string*",
      "visibility": "*string*"
    }
  ]
}

400 Invalid params.

{
  "errors": [
    {
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "message": "*string*"
    }
  ],
  "success": "*boolean*"
}

Get URL scan

GET /accounts/{account_id}/urlscanner/scan/{scan_id}

Get URL scan by uuid

Responses

200 Scan has finished. It may or may not have been successful.

Data is at body["result"]

{
  "scan": {
    "asns": {
      "asn": {
        "asn": "*string*",
        "description": "*string*",
        "location_alpha2": "*string*",
        "name": "*string*",
        "org_name": "*string*"
      }
    },
    "certificates": [
      {
        "issuer": "*string*",
        "subjectName": "*string*",
        "validFrom": "*number*",
        "validTo": "*number*"
      }
    ],
    "domains": {
      "example.com": {
        "categories": {
          "content": [
            null
          ],
          "inherited": {
            "content": null,
            "from": null,
            "risks": null
          },
          "risks": [
            null
          ]
        },
        "dns": [
          {
            "address": null,
            "dnssec_valid": null,
            "name": null,
            "type": null
          }
        ],
        "name": "*string*",
        "rank": {
          "bucket": "*string*",
          "name": "*string*",
          "rank": "*integer*"
        },
        "type": "*string*"
      }
    },
    "geo": {
      "continents": [
        "*string*"
      ],
      "locations": [
        "*string*"
      ]
    },
    "ips": {
      "ip": {
        "asn": "*string*",
        "asnDescription": "*string*",
        "asnLocationAlpha2": "*string*",
        "asnName": "*string*",
        "asnOrgName": "*string*",
        "continent": "*string*",
        "geonameId": "*string*",
        "ip": "*string*",
        "ipVersion": "*string*",
        "latitude": "*string*",
        "locationAlpha2": "*string*",
        "locationName": "*string*",
        "longitude": "*string*",
        "subdivision1Name": "*string*",
        "subdivision2Name": "*string*"
      }
    },
    "links": {
      "link": {
        "href": "*string*",
        "text": "*string*"
      }
    },
    "meta": {
      "processors": {
        "categories": {
          "content": [
            null
          ],
          "risks": [
            null
          ]
        },
        "phishing": [
          "*string*"
        ],
        "rank": {
          "bucket": "*string*",
          "name": "*string*",
          "rank": "*integer*"
        },
        "tech": [
          {
            "categories": null,
            "confidence": null,
            "description": null,
            "evidence": null,
            "icon": null,
            "name": null,
            "slug": null,
            "website": null
          }
        ]
      }
    },
    "page": {
      "asn": "*string*",
      "asnLocationAlpha2": "*string*",
      "asnname": "*string*",
      "console": [
        {
          "category": "*string*",
          "text": "*string*",
          "type": "*string*",
          "url": "*string*"
        }
      ],
      "cookies": [
        {
          "domain": "*string*",
          "expires": "*number*",
          "httpOnly": "*boolean*",
          "name": "*string*",
          "path": "*string*",
          "priority": "*string*",
          "sameParty": "*boolean*",
          "secure": "*boolean*",
          "session": "*boolean*",
          "size": "*number*",
          "sourcePort": "*number*",
          "sourceScheme": "*string*",
          "value": "*string*"
        }
      ],
      "country": "*string*",
      "countryLocationAlpha2": "*string*",
      "domain": "*string*",
      "headers": [
        {
          "name": "*string*",
          "value": "*string*"
        }
      ],
      "ip": "*string*",
      "js": {
        "variables": [
          {
            "name": null,
            "type": null
          }
        ]
      },
      "securityViolations": [
        {
          "category": "*string*",
          "text": "*string*",
          "url": "*string*"
        }
      ],
      "status": "*number*",
      "subdivision1Name": "*string*",
      "subdivision2name": "*string*",
      "url": "*string*"
    },
    "performance": [
      {
        "connectEnd": "*number*",
        "connectStart": "*number*",
        "decodedBodySize": "*number*",
        "domComplete": "*number*",
        "domContentLoadedEventEnd": "*number*",
        "domContentLoadedEventStart": "*number*",
        "domInteractive": "*number*",
        "domainLookupEnd": "*number*",
        "domainLookupStart": "*number*",
        "duration": "*number*",
        "encodedBodySize": "*number*",
        "entryType": "*string*",
        "fetchStart": "*number*",
        "initiatorType": "*string*",
        "loadEventEnd": "*number*",
        "loadEventStart": "*number*",
        "name": "*string*",
        "nextHopProtocol": "*string*",
        "redirectCount": "*number*",
        "redirectEnd": "*number*",
        "redirectStart": "*number*",
        "requestStart": "*number*",
        "responseEnd": "*number*",
        "responseStart": "*number*",
        "secureConnectionStart": "*number*",
        "startTime": "*number*",
        "transferSize": "*number*",
        "type": "*string*",
        "unloadEventEnd": "*number*",
        "unloadEventStart": "*number*",
        "workerStart": "*number*"
      }
    ],
    "task": {
      "clientLocation": "*string*",
      "clientType": "*string*",
      "effectiveUrl": "*string*",
      "errors": [
        {
          "message": "*string*"
        }
      ],
      "scannedFrom": {
        "colo": "*string*"
      },
      "status": "*string*",
      "success": "*boolean*",
      "time": "*string*",
      "timeEnd": "*string*",
      "url": "*string*",
      "uuid": "*string*",
      "visibility": "*string*"
    },
    "verdicts": {
      "overall": {
        "categories": [
          {
            "id": null,
            "name": null,
            "super_category_id": null
          }
        ],
        "malicious": "*boolean*",
        "phishing": [
          "*string*"
        ]
      }
    }
  }
}

202 Scan is in progress. Check current status in result.scan.task.status. Possible statuses: Queued,InProgress,InPostProcessing,Finished.

Data is at body["result"]

{
  "scan": {
    "task": {
      "effectiveUrl": "*string*",
      "errors": [
        {
          "message": "*string*"
        }
      ],
      "location": "*string*",
      "region": "*string*",
      "status": "*string*",
      "success": "*boolean*",
      "time": "*string*",
      "url": "*string*",
      "uuid": "*string*",
      "visibility": "*string*"
    }
  }
}

400 Invalid params.

{
  "errors": [
    {
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "message": "*string*"
    }
  ],
  "success": "*boolean*"
}

404 Scan not found.

{
  "errors": [
    {
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "message": "*string*"
    }
  ],
  "success": "*boolean*"
}

Get URL scan's HAR

GET /accounts/{account_id}/urlscanner/scan/{scan_id}/har

Get a URL scan's HAR file. See HAR spec at http://www.softwareishard.com/blog/har-12-spec/.

Responses

200 Returns the scan's har.

Data is at body["result"]

{
  "har": {
    "log": {
      "creator": {
        "comment": "*string*",
        "name": "*string*",
        "version": "*string*"
      },
      "entries": [
        {
          "_initialPriority": "*string*",
          "_initiator_type": "*string*",
          "_priority": "*string*",
          "_requestId": "*string*",
          "_requestTime": "*number*",
          "_resourceType": "*string*",
          "cache": {},
          "connection": "*string*",
          "pageref": "*string*",
          "request": {
            "bodySize": null,
            "headers": null,
            "headersSize": null,
            "httpVersion": null,
            "method": null,
            "url": null
          },
          "response": {
            "_transferSize": null,
            "bodySize": null,
            "content": null,
            "headers": null,
            "headersSize": null,
            "httpVersion": null,
            "redirectURL": null,
            "status": null,
            "statusText": null
          },
          "serverIPAddress": "*string*",
          "startedDateTime": "*string*",
          "time": "*number*"
        }
      ],
      "pages": [
        {
          "id": "*string*",
          "pageTimings": {
            "onContentLoad": null,
            "onLoad": null
          },
          "startedDateTime": "*string*",
          "title": "*string*"
        }
      ],
      "version": "*string*"
    }
  }
}

202 Scan is in progress. Check current status in result.scan.task.status. Possible statuses: Queued,InProgress,InPostProcessing,Finished.

Data is at body["result"]

{
  "scan": {
    "task": {
      "effectiveUrl": "*string*",
      "errors": [
        {
          "message": "*string*"
        }
      ],
      "location": "*string*",
      "region": "*string*",
      "status": "*string*",
      "success": "*boolean*",
      "time": "*string*",
      "url": "*string*",
      "uuid": "*string*",
      "visibility": "*string*"
    }
  }
}

400 Invalid params.

{
  "errors": [
    {
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "message": "*string*"
    }
  ],
  "success": "*boolean*"
}

404 Scan not found.

{
  "errors": [
    {
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "message": "*string*"
    }
  ],
  "success": "*boolean*"
}

Get screenshot

GET /accounts/{account_id}/urlscanner/scan/{scan_id}/screenshot

Get scan's screenshot by resolution (desktop/mobile/tablet).

Responses

200 Returns the scan's requested screenshot.

Data is at body["result"]

202 Scan is in progress. Check current status in result.scan.task.status. Possible statuses: Queued,InProgress,InPostProcessing,Finished.

Data is at body["result"]

{
  "scan": {
    "task": {
      "effectiveUrl": "*string*",
      "errors": [
        {
          "message": "*string*"
        }
      ],
      "location": "*string*",
      "region": "*string*",
      "status": "*string*",
      "success": "*boolean*",
      "time": "*string*",
      "url": "*string*",
      "uuid": "*string*",
      "visibility": "*string*"
    }
  }
}

400 Invalid params.

{
  "errors": [
    {
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "message": "*string*"
    }
  ],
  "success": "*boolean*"
}

404 Scan not found.

{
  "errors": [
    {
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "message": "*string*"
    }
  ],
  "success": "*boolean*"
}