api gateway as a service · open beta

Instant HTTPS tunnel with API keys and rate limits built in

The developer-first API gateway. A public HTTPS URL, API keys, rate limits, and live request logs in front of any HTTP API, in one command. No YAML, no middleware to write, just your API, live.

  • API keys and bearer tokens on any route
  • Per-key rate limits enforced at the edge
  • Request logs streamed live to dashboard and CLI

Free plan: 1 project, 1,000 requests a day. No credit card required.

one request through the gateway
$ apigateway --token ark_9f3d… --port 3000
✓ tunnel connected to gate.apiark.io
➜ https://api.apiark.io/fox → localhost:3000
key-auth on
limit-count 1000 req/day
http-logger on
 
← GET /fox/orders
key-auth ✓ valid api key
limit-count ✓ 412 of 1000 today
http-logger ✓ streamed to dashboard
→ 200 OK · 41ms

Expose and protect your APIs without the overhead

Instant tunneling plus a real gateway: auth, rate limits, logging and production-ready security. From your laptop, a staging box, or a production cluster, one CLI and one dashboard.

Public HTTPS in seconds. No deploy, no config, just code.

What sits between the internet and your API

Every request runs the same chain of checks. Around it, the tools to run an API in production, all on from day one.

GET /fox/orderskey-authlimit-counthttp-loggeryour API

every route runs this chain, and you configure nothing to turn it on.

key-auth

API keys on every route

Generate, rotate and revoke keys and bearer tokens. Callers without a valid key never reach your backend.

limit-count

Rate limiting per key

Counted at the gateway, so a leaked key or runaway script cannot flood your API.

http-logger

Every request logged

Method, path, status and latency for each call, streamed live to your dashboard.

tunnel

Localhost to public HTTPS

The CLI gives your local API a stable public URL. Test webhooks, demo, integrate before you deploy.

cors

Browser apps can call it

The gateway answers the browser cross-origin checks, so a web frontend can call your API with no extra backend code.

dashboard

One place to run it

Routes, keys, limits and live logs in one view. No YAML, no gateway to operate.

Live in three commands

01

Install the CLI

$ curl -L https://dl.apiark.io/apigateway-darwin-arm64 > apigateway && chmod +x apigateway

One binary, macOS and Linux. Sign up to get your token.

02

Point it at your API

$ apigateway --token ark_9f3d… --port 3000

You get a public HTTPS URL with API key auth, rate limits and logging already on. Production API on a server? Create the route from the dashboard instead, no CLI needed.

03

Hand out keys, watch traffic

$ curl https://api.apiark.io/fox/orders -H "apikey: ark_…"

Callers authenticate with their key. You see every request in the dashboard as it happens.

Built for the week your API meets the outside world

  • Receive Stripe or Slack webhooks on your laptop while you build the handler
  • Share a staging API with a client or teammate without writing auth first
  • Test rate limits and auth flows under realistic conditions
  • Bridge frontend and backend without infra blockers
  • Run local microservices and expose them behind one gateway
  • Put keys and rate limits in front of a production MVP without touching its code
live requests, streamed to your dashboard
GET/fox/orders20038ms
POST/fox/orders20152ms
GET/fox/orders/112320029ms
GET/fox/customers20044ms
POST/fox/webhooks40111ms
GET/fox/orders4297ms

How much work each one is

Every tool here can get you to the same place. The difference is how many steps, config files and moving parts it takes. This is what each one asks of you, not a claim that the others cannot do it.

Setup effort for the same task across ngrok, Cloudflare Tunnel, Kong or Envoy, and ApiArk.
What you wantngrokCloudflare TunnelKong / EnvoyApiArk
Public HTTPS URL for a local portOne commandInstall daemon, log in, map hostnameNot its job, bring your own tunnelOne command
Add API key auth on topEdit a traffic policy fileSet up Access, issue service tokensDeclare consumer and key-auth pluginOn by default, key issued at signup
Per-key rate limitPolicy rule, paid plansWAF rate limit rule, by IP or pathPlugin config, Redis for multi-nodeOn by default, counted per key
See requests as they happenLocal inspector UIDashboard analyticsWire up a log sink and a dashboardLive stream in browser and CLI
Config files to writeOne policy file for auth or limitsTunnel config plus Access rulesdocker-compose plus declarative YAMLNone
Runs without you hosting anythingYesYesNo, you run the gatewayYes

Compared against each product as documented in August 2026. If something here is out of date, tell us at [email protected] and we will correct it.

Works seamlessly with

Node.js, Python, Go, PHP, Rust, Next.js or any HTTP/REST framework.

Node.js
Next.js
Python / FastAPI
Go / gRPC
Laravel
PHP
Rust / Actix
+ Any HTTP/REST

Why developers love ApiArk

Built for speed

Public HTTPS in seconds, not a sprint.

Zero learning curve

One CLI flag or one dashboard form.

Real testing, no staging pain

The real internet hits your real code.

Protection in one command

Auth, limits and logs, backend untouched.

Frequently asked questions

The things people actually ask before pointing traffic at someone else's gateway.

Do you inspect or store request bodies?
No. The gateway proxies over TLS and writes one metadata line per request: method, path, status code, latency and request headers. Bodies are not captured, not inspected and not written to disk. Note that because headers are logged and API keys travel in a header, a key can appear in the gateway log file, so rotate a key if you have reason to.
Is ApiArk only for localhost, or can I use it in production?
Both. For local development and webhook testing, run the single-binary CLI tunnel. For an API already on a VPS or cloud host, create the route from the dashboard and skip the CLI entirely. That said, this is an open beta on two gateway nodes run by one person, so size the risk accordingly.
What happens when a request exceeds limits or fails authentication?
The gateway answers 401 Unauthorized or 429 Too Many Requests at the edge and drops the request there. Your backend never sees it, so bad traffic costs you no bandwidth and no compute. Rate limit headers come back on every response so a client can see where it stands.
How much latency does the gateway add?
The auth check and rate limit counter add a few milliseconds. What dominates your round trip is distance: the gateway nodes sit in Zurich, so a caller in Europe sees far less overhead than one in Asia or the US west coast. Every request shows its measured latency in the live log stream, so you can check the real number for your own setup instead of trusting ours.
What are the free plan limits?
One project and 1,000 requests a day, no credit card. When you hit the daily count the gateway returns 429 until the window rolls over.

Ship your API without skipping security

Localhost, staging or production, all behind the same gateway. ApiArk is in open beta: the free plan is the only plan for now, and early users shape what gets built next.

No credit card required. No YAML. Just your API, live.

ApiArk | Instant HTTPS Tunnel & API Gateway in 1 Command