# is-port-21-open

> is-port-21-open is a paid API for AI agents from ip.intel.rallylive.ca, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-10).

Checks whether TCP port 21 (FTP) is open, closed, or filtered on a given host by attempting a connection from Cloudflare's edge network

## Facts

- Endpoint: GET https://ip.intel.rallylive.ca/ip/port/21?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/is-port-21-open-012902e2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_NUDhrf9cofR8NCVDZns-N

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability is-port-21-open-012902e2
```

Example prompt: Can you check if TCP port 21 (FTP) is open or closed on the host 203.0.113.45 — I want to know if it's exposed without me having to run a scanner myself.

## When to prefer this

Use this endpoint when you need a quick, external perspective on whether FTP (port 21) is exposed on a host without deploying your own scanner. It is ideal for one-off exposure checks, pre-onboarding vendor audits, or lightweight security sweeps. Prefer it over generic port scanners when you want a Cloudflare-edge vantage point and a pay-per-check model at $0.01 per call. Note that Cloudflare-fronted hosts will yield inconclusive results, so it is best suited for hosts with direct internet exposure.

## Known failure modes

- Host is Cloudflare-fronted — result returned as inconclusive because Cloudflare's edge answers the connection attempt
- Invalid or unresolvable hostname — endpoint may return an error or timeout
- Firewall silently drops packets — reported as 'filtered' rather than 'closed'
- Network-level timeout if target is unreachable — may be reported as filtered
- Payment not processed — call rejected with 402 status

## How this service works

Is TCP port 21 (FTP) open on a host? Attempts a connection from Cloudflare's edge and reports open/closed/filtered with the connect time; Cloudflare-fronted hosts are reported as inconclusive because their edge answers for them. Exposure checks for FTP without running a scanner. $0.01 per check.

## Output

Returns whether TCP port 21 is open, closed, or filtered on the target host, along with the connection time in milliseconds. If the host is behind Cloudflare's edge, the result is marked inconclusive because Cloudflare intercepts the connection on their behalf.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {}
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/is-port-21-open-012902e2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ip.intel.rallylive.ca](https://www.zero.xyz/host/ip.intel.rallylive.ca/llms.txt)
