Discover/Downdetector API
live

Downdetector APIdowndetector.id

Retrieve ranked service outage data from Downdetector Indonesia. Get live status, problem-report counts, and 24-hour sparklines for up to 48 services.

Endpoint health
verified 2h ago
get_top_outages_indonesia
1/1 passing latest checkself-healing
Endpoints
1
Updated
3h ago

What is the Downdetector API?

The Downdetector Indonesia API exposes 1 endpoint — get_top_outages_indonesia — that returns the ranked list of services currently displayed on the Downdetector Indonesia home page, covering up to 48 services per call. Each record includes the service name, slug, category, live status indicator, latest report count, and a 24-hour sparkline array showing how problem reports have trended throughout the day.

This call costs2 credits / call— charged only on success
Try it
Maximum number of ranked services to return, counted from the top. Values above 48 are clamped to 48 (the site shows at most 48 services); a non-positive or non-integer value is rejected.
api.parse.bot/scraper/fc2c1977-fed2-40f8-94eb-a31b54ac913d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/fc2c1977-fed2-40f8-94eb-a31b54ac913d/get_top_outages_indonesia?limit=5' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace downdetector-id-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Downdetector Indonesia — top outage services ranked by activity."""
from parse_apis.downdetector_id_api import DowndetectorId, InputFormatInvalid

client = DowndetectorId()

# Fetch the top 10 services by current problem-report activity.
for svc in client.services.list(max_results=10, limit=10):
    print(f"#{svc.rank} {svc.name} [{svc.status}] — "
          f"{svc.latest_reports} reports now, peak {svc.peak_reports_24h} in 24h")

# Drill into the single most-reported service for its sparkline.
top = client.services.list(max_results=1, limit=1).first()
if top is not None:
    print(f"\n{top.name} sparkline (24h, oldest→newest): {top.sparkline_24h[:6]}… "
          f"({len(top.sparkline_24h)} points)")
    print(f"  status page: {top.status_page_url}")
    print(f"  category:    {top.category_slug}")

# Demonstrate typed-error handling: InputFormatInvalid is raised for bad input.
try:
    # Passing a non-integer limit triggers input_format_invalid from the API.
    bad = client.services.list(limit=-1)
    bad.first()
except InputFormatInvalid as e:
    print(f"\nCaught expected error: {e.message}")

print("\nexercised: services.list / InputFormatInvalid")
All endpoints · 1 totalmissing one? ·

Returns the ranked list of services shown on the Downdetector Indonesia home page ('Service status overview'), one row per service in the site's own display order (most problem-report activity first). Each row carries the service's numeric id, name, slug, category slug, live status flag ('warning' = possible problems detected, 'success' = no problems), a 96-point sparkline of user problem reports over the last 24 hours (about one value per 15 minutes, oldest first), the latest and peak values of that sparkline, and the service's status page link. The site publishes a fixed set of 48 services; total_available reports that count and limit truncates the list from the top. One round trip, no pagination. correlation_outage is passed through from the site and was null for every service observed.

Input
ParamTypeDescription
limitintegerMaximum number of ranked services to return, counted from the top. Values above 48 are clamped to 48 (the site shows at most 48 services); a non-positive or non-integer value is rejected.
Response
{
  "type": "object",
  "fields": {
    "count": "integer, number of services returned after applying limit",
    "country": "country the ranking is for (always Indonesia for this site)",
    "services": "array of ranked service records: rank, company_id (string), name, slug, category_slug, status ('warning' or 'success'), latest_reports (integer, most recent sparkline value), peak_reports_24h (integer, max sparkline value), sparkline_24h (array of 96 integers, oldest first), correlation_outage (nullable passthrough), status_page_url, logo_url",
    "total_available": "integer, number of services the site currently lists on its home page"
  },
  "sample": {
    "data": {
      "count": 2,
      "country": "Indonesia",
      "services": [
        {
          "name": "XL",
          "rank": 1,
          "slug": "xl",
          "status": "warning",
          "logo_url": "https://cdn2.downdetector.com/static/uploads/logo/XL_logo_2016.png",
          "company_id": "38977",
          "category_slug": "mno",
          "sparkline_24h": [
            9,
            3,
            8,
            2,
            3,
            6,
            10,
            5,
            6,
            12,
            6,
            8,
            7,
            6,
            17,
            19,
            33,
            14,
            30,
            19,
            17,
            15,
            13,
            9,
            9,
            0,
            3,
            10,
            1,
            8,
            11,
            9,
            12,
            11,
            6,
            8,
            10,
            5,
            7,
            10,
            13,
            15,
            9,
            9,
            5,
            5,
            0,
            4,
            4,
            3,
            8,
            2,
            4,
            9,
            8,
            9,
            6,
            6,
            3,
            1,
            2,
            0,
            1,
            0,
            0,
            0,
            0,
            1,
            0,
            0,
            1,
            4,
            1,
            3,
            2,
            12,
            8,
            7,
            5,
            7,
            4,
            2,
            0,
            6,
            3,
            1,
            1,
            12,
            9,
            4,
            15,
            7,
            10,
            13,
            18,
            17
          ],
          "latest_reports": 17,
          "status_page_url": "https://downdetector.id/en/status/xl/",
          "peak_reports_24h": 33,
          "correlation_outage": null
        },
        {
          "name": "Telkom",
          "rank": 2,
          "slug": "telkom-indonesia",
          "status": "success",
          "logo_url": "https://cdn2.downdetector.com/static/uploads/logo/Telkom_id.png",
          "company_id": "38973",
          "category_slug": "converged-communications",
          "sparkline_24h": [
            15,
            16,
            17,
            22,
            19,
            28,
            19,
            14,
            15,
            14,
            13,
            16,
            10,
            18,
            14,
            9,
            4,
            9,
            5,
            9,
            15,
            9,
            4,
            4,
            13,
            9,
            5,
            3,
            8,
            12,
            2,
            15,
            9,
            11,
            11,
            12,
            6,
            4,
            10,
            4,
            5,
            6,
            9,
            5,
            10,
            8,
            10,
            6,
            24,
            10,
            17,
            17,
            11,
            1,
            2,
            1,
            3,
            2,
            3,
            0,
            3,
            2,
            2,
            0,
            0,
            0,
            0,
            0,
            3,
            0,
            0,
            0,
            0,
            0,
            0,
            4,
            0,
            0,
            2,
            3,
            3,
            5,
            12,
            6,
            14,
            13,
            9,
            14,
            9,
            4,
            10,
            9,
            7,
            8,
            4,
            6
          ],
          "latest_reports": 6,
          "status_page_url": "https://downdetector.id/en/status/telkom-indonesia/",
          "peak_reports_24h": 28,
          "correlation_outage": null
        }
      ],
      "total_available": 48
    },
    "status": "success"
  }
}

About the Downdetector API

What the API Returns

The get_top_outages_indonesia endpoint returns the services ranked on the Downdetector Indonesia "Service status overview" page, ordered by current problem-report activity from highest to lowest. Each service record includes a numeric company_id, name, slug, category_slug, a status field (either 'warning' or 'success'), the latest_report_count, and a 24-hour sparkline array that maps report volume over time.

Filtering and Coverage

The optional limit parameter controls how many ranked services are returned, starting from rank 1. Values above 48 are clamped to 48, which is the maximum number of services the site lists on its home page. The response also includes count (how many records were actually returned), total_available (how many services the site currently lists), and country (always Indonesia for this endpoint).

Status Field Behavior

The status field reflects the site's own classification for each service at the time of the request: 'warning' indicates elevated problem reports, and 'success' indicates normal operation. The sparkline data lets you see whether a 'warning' state is a recent spike or a sustained pattern across the previous 24 hours, without needing to poll the endpoint repeatedly yourself.

Reliability & maintenanceVerified

The Downdetector API is a managed, monitored endpoint for downdetector.id — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when downdetector.id changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official downdetector.id API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2h ago
Latest check
1/1 endpoint passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor which Indonesian internet services — ISPs, streaming platforms, banks — are experiencing the most user-reported problems right now.
  • Build a dashboard that surfaces 'warning'-status services filtered by category_slug for a specific industry like banking or telecoms.
  • Track the 24-hour sparkline arrays to detect whether an outage is escalating or recovering.
  • Alert operations teams when a specific service appears in the top-ranked results with a 'warning' status.
  • Aggregate latest_report_count trends over time to compare outage frequency across service categories in Indonesia.
  • Feed ranked outage data into incident-response tooling that cross-references service slugs with internal dependency maps.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Downdetector have an official developer API?+
Downdetector does not publish a public developer API. The data accessible through this Parse API reflects what is shown on the public Downdetector Indonesia site.
What does the `status` field actually distinguish?+
Each service returns either 'warning' or 'success'. 'warning' means the site currently classifies that service as having elevated user-reported problems. 'success' means report volume is within normal range. The latest_report_count field gives you the raw number behind that classification.
Does the API cover individual service detail pages or historical outage data beyond 24 hours?+
Not currently. The API covers the home-page ranking, live status, and the 24-hour sparkline for each listed service. Deeper per-service history and individual outage detail pages are not included. You can fork this API on Parse and revise it to add endpoints for individual service detail pages.
Is the ranking limited to Indonesia-specific services?+
The endpoint returns the ranking as displayed on downdetector.id, which reflects services relevant to Indonesian users. The country field in every response is always Indonesia. Services that operate globally but are tracked on the Indonesian site can appear in results.
Can I retrieve services ranked below position 48?+
The home page lists a maximum of 48 services, so 48 is the hard ceiling enforced by the limit parameter. If the site expands its home-page listing in the future, total_available will reflect that, but the clamped maximum of 48 applies to what is currently available.
Page content last updated . Spec covers 1 endpoint from downdetector.id.
Related APIs in Developer ToolsSee all →
downdetector.com API
Monitor which online services are currently experiencing outages and see how many users have reported each incident in real-time. Stay informed about widespread service disruptions that might affect your work or daily activities.
dataonline.bmkg.go.id API
Access Indonesia's weather station information and check the availability of meteorological data including rainfall, temperature, and sunshine duration readings. Search across different regions and station types to find the weather data you need.
idx.co.id API
Access real-time and historical data from the Indonesia Stock Exchange (IDX). Retrieve stock listings, daily trading summaries, market indices, company profiles, financial and annual reports, corporate event calendars, announcements, IPO data, and market overviews.
dataforseo.com API
Monitor top-performing websites and trending keywords on Google while tracking SERP volatility to stay ahead of SEO trends. Get real-time insights into ranking keywords, search demand patterns, and search engine result page changes to inform your SEO strategy.
posindonesia.co.id API
Access data from posindonesia.co.id.
status.blackbaud.com API
Monitor and review current and historical service outages and incidents affecting Blackbaud systems. Track incident details and status updates to stay informed about service disruptions impacting your business.
dockerstatus.com API
Monitor Docker's system health and service status in real-time, view incident history, and subscribe to status updates via RSS feed. Track outages, service incidents, and overall platform availability to stay informed about Docker's infrastructure performance.
lapor.go.id API
Access Indonesia's official public complaints and get details about resolved cases and government institutions handling them. Search specific institutions and browse complaint data to understand how various agencies respond to citizen concerns.