NewMCP server live

Port Scanner API for any host.

Find the open TCP ports on a domain or IP, across the most common ports or a range you choose, with optional service detection on what's open.

4.9average across
G2 — 4.8 out of 5Google — 4.9 out of 5Product Hunt — 5.0 out of 5
  • 500 free credits every month
  • No card to start
  • Failed requests cost nothing
Playground
Request
POST /openport
{
  "url": "stripe.com"
}
loading example…
Want every endpoint and every parameter?
The Geekflare playground has every API and option, plus saved requests. Free with 500 credits a month.
Open the playground
Trusted by teams at
PfizerNBCUniversalTCSHostingerKissflowLookoutPlivoClearSaleSparkianCBSplitOmreon
PfizerNBCUniversalTCSHostingerKissflowLookoutPlivoClearSaleSparkianCBSplitOmreon
Handled for you

Open ports, without running nmap.

No scanner to install and no servers to scan from. Each request checks the ports you ask for and returns the open ones as JSON.

The most common ports

Scan the top 50, 100, 500, 1,000 or 5,000 ports, from quick checks to a broad sweep.

topPorts: 100

Your own ranges

Scan exactly the ports you care about with a list and ranges, such as 80, 443 and 1000 to 1010.

portRanges: "80,443"

Service detection

Optionally identify the service and version on each open port. It's slower, and the port list still comes back if detection fails.

detectServices: true

Domains or IPs

Pass a URL, a hostname, or an IPv4 or IPv6 address.

url: 203.0.113.10

Attack surface checks

Catch databases, admin panels and remote access ports that are open to the internet when they shouldn't be.

security audits

Plain JSON

The open ports come back as a simple list, easy to compare against what you expect to be open.

data: [80, 443]
Parameters

The parameters you'll use most.

See what each parameter does and when to use it without digging through the API reference.

ParameterTypeWhat it doesCredits
urlstringA URL, hostname, or IPv4 or IPv6 address to scan.—
topPortsnumberScan the top 50, 100, 500, 1000 or 5000 most common ports.included
portRangesstringScan specific ports and ranges instead, e.g. "80,443,1000-1010".included
detectServicesbooleanAlso detect the service and version on open ports. Slower. Defaults to false.included
Use cases

What people do with the Port Scanner API.

See what your servers expose

Scan your own hosts regularly and alert when a port opens that shouldn't be, such as a database or remote desktop port.

  • Top-N or custom port ranges
  • Compare against an allow list
  • Schedule it to catch changes
Typical request
POST /openport
{
  "url": "stripe.com",
  "topPorts": 100
}
Example output · stripe.com
data[80, 443]
meta.topPorts100
Quickstart

Your first port scan, in a few lines.

quickstart.pyofficial SDK
# pip install geekflare-api
from geekflare_api.client import GeekflareClient
from geekflare_api.models import OpenPortDto

with GeekflareClient(api_key="<api-key>") as client:
    result = client.open_ports(
        OpenPortDto(
            url="https://example.com"
        )
    )
    print(result)
Ways in

One API. Every stack.

The same key works from an agent, a workflow builder, an SDK or your own service. Pick the lane you already live in.

MCP server

One remote endpoint exposes Geekflare's tools to any MCP client. Your agent discovers them itself: no glue code, no per-tool wiring.

ClaudeCursorCodexany MCP client
Set up the MCP server

LLM & agent pipelines

LLM-ready Markdown straight into a retrieval pipeline, with the boilerplate stripped so you spend context on content, not navigation.

RAGagentsmarkdown-llmgrounded search
See the solutions

Workflow builders

Run any endpoint as a step in a visual scenario. Useful when the person who needs the data does not write code.

ZapierMaken8n
Browse integrations

SDKs & REST

First-party typed SDKs for Python and Node. Everything else talks plain REST, from any language.

PythonNode.jsPostman
Open the API reference
Pricing

2 credits a scan. Here is what that buys.

Credits are shared with every other Geekflare API. Failed requests cost nothing.

5002M

Growth covers up to ~50,000 scans a month (100K credits), about $1.38 per 1,000 scans. Or $58/mo billed yearly.

scans · 58,000 credits
29,000
Plan
Growth · $69/mo
FreeNo card
$0/mo
~250
scans / month
  • 500 credits / month
  • 1 team member
  • 7 days log retention
  • 1 request per second
Starter
$19/mo
~5,000
scans / month
  • 10K credits / month
  • 3 team members
  • 30 days log retention
  • 5 requests per second
GrowthMost popular
$69/mo
~50,000
scans / month
  • 100K credits / month
  • 5 team members
  • 30 days log retention
  • 10 requests per second
Business
$349/mo
~500,000
scans / month
  • 1M credits / month
  • 25 team members
  • 90 days log retention
  • 25 requests per second
Start freeCompare plans and credit packsEvery account starts free. Upgrade from the dashboard when you need more, or buy a credit pack from $10.
Testimonials

Loved by developers worldwide.

Read all reviews
“Its been couple of years we are using Geekflare API, we like its stable production ready performance and cost-effectiveness of accessing multiple APIs through a single plan.”
Jitendra RauloDirector, Aarav Infotech
“We use the DNS API to verify our customer's domain ownership, and so far it is great. It responds mostly in less than 1 second.”
Amit VasuDevOps Engnieer
“Great API and even better customer support. They went above and beyond to help me fix a rendering issue. Fast response times and effective solutions. 5 stars!”
Kham Nguyen DinhDeveloper
Questions

Before you integrate port scans.

Everything else is in the endpoint docs, and our support team replies to every email.

Open the endpoint docs

Scanning your own systems, or systems you have permission to test, is standard security practice. Scanning systems you don't own or have permission to test may break the law or the provider's terms, so only scan what you're authorized to.

The top 100 most common ports are scanned. Set topPorts to scan more or fewer (50 up to 5,000), or portRanges to scan exactly the ports you list, such as "80,443,1000-1010".

A scan costs 2 credits. Failed requests cost nothing.

Yes. Set detectServices: true to identify the service and version on each open port. It's slower than a plain scan, and if detection fails you still get the list of open ports.

Yes. Pass a URL, a hostname, or an IPv4 or IPv6 address.

Yes. Run scans in the dashboard playground, use it from Zapier, Make or n8n, or let AI agents call it through our MCP server.

250 scans a month, free.

The free tier renews every month and needs no card. Scan your first host in a single call.