Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Service Status & Incident API page →
Developer Tools

Service Status & Incident API

The Service Status & Incident API returns live up/down status and incident data for hundreds of vendors as clean JSON.

7 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

The primary status endpoint returns a vendor's name, indicator, operational flag, description, active-incident count and last-updated time, and you can pull incidents, components, a summary, check multiple vendors at once, batch and list supported vendors. It is built for monitoring dashboards, incident tooling and reliability workflows that need normalized status-page data without polling each vendor's page. One ReefAPI key, one shared credit pool, the standard { ok, data, meta, error } envelope.

Reference

Statuspage /api/v2/*.json paths, and the action that replaces each one

If you have been hitting status.<vendor>.com/api/v2/... directly, this is the mapping. Those paths work, but only for vendors hosted on Atlassian Statuspage, only if you already know each vendor's status host, and every vendor is a separate integration. One action here covers all of them and returns the same answer in a normalized shape.

Statuspage JSON pathCall this insteadWhat comes back
/api/v2/status.jsonstatusOne normalized indicator — operational, degraded, partial_outage, major_outage or maintenance — plus an is_operational boolean and the vendor's own description.
/api/v2/incidents/unresolved.jsonincidents with active_only trueOnly the incidents happening right now. This is the is-it-down-this-minute call.
/api/v2/incidents.jsonincidentsRecent incident history, most recent first: title, impact, status, the full update timeline and affected components. limit defaults to 25, cap 100.
/api/v2/components.jsoncomponentsPer-component health, so you can see that it is the API that is degraded and not the dashboard.
/api/v2/summary.jsonsummaryStatus, components and active incidents rolled into one response.
no equivalentcheck_multiUp to 25 vendors in a single call, each resolved to its real status page. One item failing never fails the call.

Not every vendor runs on Statuspage. Five vendors are handled with their own readers and list_vendors marks them kind=special: AWS, Microsoft Azure, Google Cloud, Slack and Stripe. Measured 2026-08-27: list_vendors returns 91 vendors, 86 kind=statuspage and 5 kind=special, and the unsupported map is empty — every listed vendor is currently readable.

Live example

Real request and response JSON

Captured from the indexed primary action, status, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/status-intel/v1/status",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "vendor": "github"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "status-intel",
    "endpoint": "status",
    "mode": "live",
    "latency_ms": 711.3,
    "record_count": 1,
    "bytes": 4310,
    "cache_hit": false,
    "method": "public_status_api",
    "vendor": "github",
    "platform": "statuspage"
  },
  "data": {
    "vendor": "github",
    "name": "GitHub",
    "kind": "statuspage",
    "platform": "statuspage",
    "generic": false,
    "category": "dev-tools",
    "indicator": "operational",
    "raw_indicator": "none",
    "description": "All Systems Operational",
    "is_operational": true,
    "updated_at": "[redacted-phone]T15:54:09.347Z",
    "active_incident_count": 0,
    "source_url": "https://www.githubstatus.com/api/v2/summary.json"
  }
}
Actions

What the Service Status & Incident API does

ActionDescriptionConcrete use caseKey params
statusCurrent OVERALL status for a vendor → normalized indicator (operational/degraded/partial_outage/major_outage/maintenance) + is_operational boolean + description.Platform and DevOps teams call status to get current OVERALL status for a vendor → normalized indicator (operational/degraded/partial_outa….vendor
incidentsRecent or active incidents for a vendor (title, impact, status, timeline of updates, affected components). active_only=true → just the ongoing ones.Security and supply-chain teams call incidents to get recent or active incidents for a vendor (title, impact, status, timeline of updates, affected….vendor, active_only, limit
componentsPer-component (sub-service) health for a vendor — which specific products are degraded.Developer-tool builders call components to get per-component (sub-service) health for a vendor.vendor, limit
summaryFull one-call snapshot for a vendor: overall status + components + active incidents + scheduled maintenances (the whole status page in one normalized object).AI-agent developers call summary to get full one-call snapshot for a vendor.vendor
check_multiTHE dashboard call: give your stack as a list (keys / brands / domains / status hosts) → each is auto-resolved to its real status page and its LIVE status is returned, read from the SOURCE. 'Are any of my dependencies down right now?' Per-item errors never fail the whole call.Platform and DevOps teams call check_multi to get tHE dashboard call.vendors
batchAlias of check_multi — overall status for a batch of vendors in one call (up to 25).Security and supply-chain teams call batch to get alias of check_multi.vendors
list_vendorsThe supported vendor set (key → name, kind, category, status host). Optionally filtered by category. Also lists explicitly-unsupported vendors (e.g. Azure) with the reason.Developer-tool builders call list_vendors to get the supported vendor set (key → name, kind, category, status host).category
Code samples

Call status from your stack

curl -X POST https://api.reefapi.com/status-intel/v1/status \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"vendor":"github"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.status-intel.status with {"vendor":"github"}.
Use cases

Who uses this API and why

  • Monitoring dashboards call check_multi to show the live status of every SaaS a company depends on.
  • Incident tooling uses incidents to alert when a critical vendor reports an outage.
  • Reliability teams use summary and components to track a vendor's uptime history over time.
FAQ

Questions developers ask before integrating

What does status.stripe.com/api/v2/incidents/unresolved.json return?

That is Atlassian Statuspage's public v2 JSON feed, and the unresolved path returns just the incidents that are open right now for that one vendor — an empty list when nothing is wrong. It is fine for a single vendor, but it only exists for Statuspage-hosted vendors, you have to know each vendor's exact status host, and every vendor you add is another endpoint to maintain. The incidents action with active_only true gives you the same answer for any vendor and finds the status host itself. Measured on 2026-08-26, asking for Stripe returned zero active incidents.

Can I check a vendor that is not on your list?

Yes. vendor takes a curated key (github, openai, aws, stripe) or any status-page host or URL you hand it — status.example.com works even if we have never seen that vendor. The curated set is a convenience, not a wall. list_vendors returned 91 curated vendors on 2026-08-26, each with its key, display name, kind, category, status host and homepage, across ai, cloud, dev-tools, observability, fintech, email, productivity, search and analytics.

How do I check my whole stack in one request?

check_multi is the dashboard call. Hand it up to 25 items — curated keys, bare brand names, plain domains or status hosts, as a JSON array or a comma-separated string — and each one is resolved to its real status page and read live. Per-item errors are reported per item and never fail the whole response, so one unreachable vendor does not blank your dashboard.

Do AWS, GCP and Slack work? They do not use Statuspage.

They work. Statuspage and Instatus pages are parsed generically, and AWS, GCP, Slack and Stripe have dedicated readers — list_vendors flags those as kind=special. The output shape is the same either way, so your code does not branch on which platform a vendor happens to use. If a vendor ever becomes unreadable it is listed in unsupported with the reason rather than reported as healthy; that map was empty when we last measured it on 2026-08-27.

How do I tell which specific product is down, not just the vendor?

Call components. A vendor-level indicator only tells you something is wrong somewhere; components returns per-sub-service health, which is how you find out that the REST API is degraded while the web dashboard is fine. Pair it with incidents for the write-up and the timeline of updates.

What is the Service Status & Incident API?

Service Status & Incident API is a ReefAPI endpoint group for service status & incident It returns live JSON through POST requests under /status-intel/v1.

Is the Service Status & Incident API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Service Status & Incident calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Service Status & Incident login or account?

No login to Service Status & Incident is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Service Status & Incident data?

The page example is captured from a live status call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Service Status & Incident API use?

Service Status & Incident actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call Service Status & Incident from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call status-intel actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Service Status & Incident API a Service Status & Incident scraper?

It is the managed alternative to a DIY Service Status & Incident scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same service status & incident back as clean JSON.

Why does my Service Status & Incident scraper keep getting blocked?

Most Service Status & Incident scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / status-intel

Service Status & Incident

Service Status & Incident

base /status-intel/v17 endpoints
post/status-intel/v1/status1 credit

Current OVERALL status for a vendor → normalized indicator (operational/degraded/partial_outage/major_outage/maintenance) + is_operational boolean + description.

ParameterAllowed / rangeDescription
vendorrequiredairtable · algolia · amplitude · anthropic · asana · atlassian · aws · azure · bitbucket · box · braze · brevo · bunny · calendly · circleci · clerk · cloudflare · cloudinary · cockroachdb · cohere · confluent · contentful · databricks · datadog · dialpad · digitalocean · discord · docusign · doppler · dropbox · duo · elastic · elevenlabs · figma · fivetran · fly · gcp · github · godaddy · grafana · groq · harness · hashicorp · hubspot · intercom · kraken · launchdarkly · linode · loom · mailgun · miro · mixpanel · monday · mongodb · netlify · newrelic · ngrok · npm · openai · pinecone · planetscale · postman · pusher · reddit · render · replicate · retool · sanity · segment · sendgrid · sentry · shopify · slack · snowflake · squarespace · squareup · stabilityai · stripe · supabase · trello · twilio · typeform · upstash · vercel · vimeo · webflow · wise · workos · zapier · zoom · zoominfoWhich status page to read. EITHER a curated registry key (github, openai, aws, azure… — call action=list_vendors) OR ANY status-page host/URL for generic auto-parsing (e.g. 'status.acme.com', 'https://status.acme.io') — the engine auto-detects Atlassian Statuspage or Instatus and normalizes it the same way. Case-insensitive.
Try in playground →
post/status-intel/v1/incidents1 credit

Recent or active incidents for a vendor (title, impact, status, timeline of updates, affected components). active_only=true → just the ongoing ones.

ParameterAllowed / rangeDescription
vendorrequiredairtable · algolia · amplitude · anthropic · asana · atlassian · aws · azure · bitbucket · box · braze · brevo · bunny · calendly · circleci · clerk · cloudflare · cloudinary · cockroachdb · cohere · confluent · contentful · databricks · datadog · dialpad · digitalocean · discord · docusign · doppler · dropbox · duo · elastic · elevenlabs · figma · fivetran · fly · gcp · github · godaddy · grafana · groq · harness · hashicorp · hubspot · intercom · kraken · launchdarkly · linode · loom · mailgun · miro · mixpanel · monday · mongodb · netlify · newrelic · ngrok · npm · openai · pinecone · planetscale · postman · pusher · reddit · render · replicate · retool · sanity · segment · sendgrid · sentry · shopify · slack · snowflake · squarespace · squareup · stabilityai · stripe · supabase · trello · twilio · typeform · upstash · vercel · vimeo · webflow · wise · workos · zapier · zoom · zoominfoWhich status page to read. EITHER a curated registry key (github, openai, aws, azure… — call action=list_vendors) OR ANY status-page host/URL for generic auto-parsing (e.g. 'status.acme.com', 'https://status.acme.io') — the engine auto-detects Atlassian Statuspage or Instatus and normalizes it the same way. Case-insensitive.
active_only = falseoptionalIf true, return ONLY currently-unresolved/active incidents (the 'is there an outage right now?' view). Default false = recent history.
limit = 25optional1–100Max incidents to return (most recent first). Default 25, cap 100.
Try in playground →
post/status-intel/v1/components1 credit

Per-component (sub-service) health for a vendor — which specific products are degraded.

ParameterAllowed / rangeDescription
vendorrequiredairtable · algolia · amplitude · anthropic · asana · atlassian · aws · azure · bitbucket · box · braze · brevo · bunny · calendly · circleci · clerk · cloudflare · cloudinary · cockroachdb · cohere · confluent · contentful · databricks · datadog · dialpad · digitalocean · discord · docusign · doppler · dropbox · duo · elastic · elevenlabs · figma · fivetran · fly · gcp · github · godaddy · grafana · groq · harness · hashicorp · hubspot · intercom · kraken · launchdarkly · linode · loom · mailgun · miro · mixpanel · monday · mongodb · netlify · newrelic · ngrok · npm · openai · pinecone · planetscale · postman · pusher · reddit · render · replicate · retool · sanity · segment · sendgrid · sentry · shopify · slack · snowflake · squarespace · squareup · stabilityai · stripe · supabase · trello · twilio · typeform · upstash · vercel · vimeo · webflow · wise · workos · zapier · zoom · zoominfoWhich status page to read. EITHER a curated registry key (github, openai, aws, azure… — call action=list_vendors) OR ANY status-page host/URL for generic auto-parsing (e.g. 'status.acme.com', 'https://status.acme.io') — the engine auto-detects Atlassian Statuspage or Instatus and normalizes it the same way. Case-insensitive.
limit = 200optional1–1000Max components to return (per-component pages can be large). Default 200.
Try in playground →
post/status-intel/v1/summary1 credit

Full one-call snapshot for a vendor: overall status + components + active incidents + scheduled maintenances (the whole status page in one normalized object).

ParameterAllowed / rangeDescription
vendorrequiredairtable · algolia · amplitude · anthropic · asana · atlassian · aws · azure · bitbucket · box · braze · brevo · bunny · calendly · circleci · clerk · cloudflare · cloudinary · cockroachdb · cohere · confluent · contentful · databricks · datadog · dialpad · digitalocean · discord · docusign · doppler · dropbox · duo · elastic · elevenlabs · figma · fivetran · fly · gcp · github · godaddy · grafana · groq · harness · hashicorp · hubspot · intercom · kraken · launchdarkly · linode · loom · mailgun · miro · mixpanel · monday · mongodb · netlify · newrelic · ngrok · npm · openai · pinecone · planetscale · postman · pusher · reddit · render · replicate · retool · sanity · segment · sendgrid · sentry · shopify · slack · snowflake · squarespace · squareup · stabilityai · stripe · supabase · trello · twilio · typeform · upstash · vercel · vimeo · webflow · wise · workos · zapier · zoom · zoominfoWhich status page to read. EITHER a curated registry key (github, openai, aws, azure… — call action=list_vendors) OR ANY status-page host/URL for generic auto-parsing (e.g. 'status.acme.com', 'https://status.acme.io') — the engine auto-detects Atlassian Statuspage or Instatus and normalizes it the same way. Case-insensitive.
Try in playground →
post/status-intel/v1/check_multi1 credit

THE dashboard call: give your stack as a list (keys / brands / domains / status hosts) → each is auto-resolved to its real status page and its LIVE status is returned, read from the SOURCE. 'Are any of my dependencies down right now?' Per-item errors never fail the whole call.

ParameterAllowed / rangeDescription
vendorsrequiredYour stack as a list (≤25) — a JSON array OR a comma/space/semicolon string. Each item may be a curated key (github), a bare brand (notion), a plain domain (acme.com), OR an explicit status host (status.x.com). Each is auto-resolved to its real status page and its LIVE status is read from the SOURCE. An unresolvable item is reported per-item (indicator='unknown'), never failing the whole call.
Try in playground →
post/status-intel/v1/batch1 credit

Alias of check_multi — overall status for a batch of vendors in one call (up to 25).

ParameterAllowed / rangeDescription
vendorsrequiredYour stack as a list (≤25) — a JSON array OR a comma/space/semicolon string. Each item may be a curated key (github), a bare brand (notion), a plain domain (acme.com), OR an explicit status host (status.x.com). Each is auto-resolved to its real status page and its LIVE status is read from the SOURCE. An unresolvable item is reported per-item (indicator='unknown'), never failing the whole call.
Try in playground →
post/status-intel/v1/list_vendors1 credit

The supported vendor set (key → name, kind, category, status host). Optionally filtered by category. Also lists explicitly-unsupported vendors (e.g. Azure) with the reason.

ParameterAllowed / rangeDescription
categoryoptionalOptional filter for list_vendors — return only vendors in this category (e.g. ai, cloud, dev-tools, observability, fintech, email).
Try in playground →