{"openapi":"3.1.0","info":{"title":"shipapis meta-API","version":"1.0.0","description":"Free, no-auth JSON API over the shipapis catalog: free public APIs with live health data. Every payload carries meta.data_tier + meta.generated — verify freshness, do not assume it.","contact":{"email":"hello@shipapis.dev","url":"https://shipapis.dev/agents"},"license":{"name":"CC-BY-4.0","identifier":"CC-BY-4.0"}},"servers":[{"url":"https://shipapis.dev"}],"paths":{"/api/v1/apis":{"get":{"summary":"List APIs (integration-ready records)","parameters":[{"name":"category","in":"query","required":false,"description":"Category slug","schema":{"type":"string"}},{"name":"auth","in":"query","required":false,"description":"none | apiKey | oauth | userAgent","schema":{"type":"string"}},{"name":"cors","in":"query","required":false,"description":"yes | no | unknown","schema":{"type":"string"}},{"name":"agent","in":"query","required":false,"description":"ok | blocked | unknown — server-side/agent reachability","schema":{"type":"string"}},{"name":"commercial","in":"query","required":false,"description":"yes | no | unclear","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"Lifecycle status","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"health (default) | latency","schema":{"type":"string"}},{"name":"probed","in":"query","required":false,"description":"true — probed APIs only","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Page size, max 100","schema":{"type":"integer"}},{"name":"offset","in":"query","required":false,"description":"Pagination offset","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"type":"object"},"query":{"type":"object"},"pagination":{"type":"object","properties":{"total":{"type":"integer"},"count":{"type":"integer"},"limit":{"type":["integer","null"]},"offset":{"type":"integer"},"has_more":{"type":"boolean"}}},"links":{"type":"object"},"count":{"type":"integer"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ListApi"}}}}}}}}}},"/api/v1/apis/{slug}":{"get":{"summary":"One API — full integration record","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullApi"}}}},"404":{"description":"Unknown slug"}}}},"/api/v1/apis/{slug}/history":{"get":{"summary":"Daily uptime + recent latency series","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Unknown slug"}}}},"/api/v1/search":{"get":{"summary":"Ranked keyword search (integration-ready records)","parameters":[{"name":"q","in":"query","required":true,"description":"Keywords","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"Category slug","schema":{"type":"string"}},{"name":"auth","in":"query","required":false,"description":"none | apiKey | oauth | userAgent","schema":{"type":"string"}},{"name":"cors","in":"query","required":false,"description":"yes | no | unknown","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Max results, cap 25","schema":{"type":"integer"}},{"name":"probed","in":"query","required":false,"description":"true — probed APIs only","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"type":"object"},"query":{"type":"object"},"pagination":{"type":"object","properties":{"total":{"type":"integer"},"count":{"type":"integer"},"limit":{"type":["integer","null"]},"offset":{"type":"integer"},"has_more":{"type":"boolean"}}},"links":{"type":"object"},"count":{"type":"integer"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ListApi"}}}}}}}}}},"/api/v1/best":{"get":{"summary":"Single healthiest API for a task (+ ready curl + fallbacks)","parameters":[{"name":"task","in":"query","required":true,"description":"What you are building, plain language","schema":{"type":"string"}},{"name":"auth","in":"query","required":false,"description":"none | apiKey | oauth | userAgent","schema":{"type":"string"}},{"name":"cors","in":"query","required":false,"description":"yes | no | unknown","schema":{"type":"string"}},{"name":"agent","in":"query","required":false,"description":"ok | blocked | unknown","schema":{"type":"string"}},{"name":"commercial","in":"query","required":false,"description":"yes | no | unclear","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"Category slug","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"type":"object"},"task":{"type":"string"},"note":{"type":"string"},"best":{"oneOf":[{"$ref":"#/components/schemas/FullApi"},{"type":"null"}]},"alternatives":{"type":"array","items":{"$ref":"#/components/schemas/ListApi"}}}}}}}}}},"/api/v1/categories":{"get":{"summary":"Categories with counts","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/random":{"get":{"summary":"One random healthy API","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullApi"}}}}}}},"/data/index.json":{"get":{"summary":"Slim discovery index — START HERE","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/data/categories/{category}.json":{"get":{"summary":"Full records for one category","parameters":[{"name":"category","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/data/apis.json":{"get":{"summary":"Full dump (prefer the slices)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/data/health.json":{"get":{"summary":"Up/down snapshot keyed by slug","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/data/status.json":{"get":{"summary":"shipapis' own monitoring freshness","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"schemas":{"SlimApi":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"emoji":{"type":"string"},"logo_host":{"type":["string","null"],"description":"Provider hostname used for the favicon"},"logo_url":{"type":["string","null"],"description":"Cached favicon URL on shipapis — null when no base_url/docs_url host"},"category":{"type":"string"},"description":{"type":"string"},"auth":{"type":"string","enum":["none","apiKey","oauth","userAgent"]},"cors":{"type":"string","enum":["yes","no","unknown"]},"agent_access":{"type":"string","enum":["ok","blocked","unknown"]},"base_url":{"type":"string"},"status":{"type":"string","enum":["healthy","degraded","dying","dead","new","resurrected","unmonitored"]},"health":{"type":"integer"},"uptime_pct":{"type":["number","null"]},"monitored_since":{"type":["string","null"]},"p50_ms":{"type":["integer","null"]},"checked_at":{"type":"string","format":"date-time"}}},"ListApi":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"emoji":{"type":"string"},"logo_host":{"type":["string","null"]},"logo_url":{"type":["string","null"]},"tagline":{"type":"string"},"category":{"type":"string"},"auth":{"type":"string","enum":["none","apiKey","oauth","userAgent"]},"cors":{"type":"string","enum":["yes","no","unknown"]},"https":{"type":"boolean"},"agent_access":{"type":"string","enum":["ok","blocked","unknown"]},"commercial_use":{"type":"string","enum":["yes","no","unclear"]},"requires_card":{"type":"boolean"},"free_tier":{"type":"string"},"rate_limit":{"type":"string"},"base_url":{"type":"string"},"docs_url":{"type":"string"},"sample_endpoint":{"type":"string"},"sample_url":{"type":"string"},"sample_curl":{"type":"string"},"endpoint_count":{"type":"integer"},"endpoints":{"type":"array","items":{"type":"object","properties":{"method":{"type":"string"},"path":{"type":"string"},"url":{"type":"string"},"description":{"type":"string"},"monitored":{"type":"boolean"}}}},"status":{"type":"string"},"probed":{"type":"boolean"},"health":{"type":["integer","null"]},"uptime_pct":{"type":["number","null"]},"p50_ms":{"type":["integer","null"]},"p95_ms":{"type":["integer","null"]},"checked_at":{"type":["string","null"],"format":"date-time"},"monitored_since":{"type":["string","null"]},"links":{"type":"object","properties":{"self":{"type":"string"},"history":{"type":"string"},"page":{"type":"string"},"badge":{"type":"string"},"logo":{"type":"string","description":"Same as logo_url — convenience link"}}}}},"FullApi":{"allOf":[{"$ref":"#/components/schemas/SlimApi"},{"type":"object","properties":{"tagline":{"type":"string"},"description":{"type":"string"},"docs_url":{"type":"string"},"sample_endpoint":{"type":"string"},"sample_url":{"type":"string"},"sample_request_curl":{"type":"string"},"sample_response":{},"https":{"type":"boolean"},"commercial_use":{"type":"string","enum":["yes","no","unclear"]},"data_license":{"type":"string"},"free_tier":{"type":"string"},"rate_limit":{"type":"string"},"requires_card":{"type":"boolean"},"p95_ms":{"type":["integer","null"]},"added_at":{"type":"string"},"shape_changes":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"summary":{"type":"string"}}}},"page_url":{"type":"string"},"badge_url":{"type":"string"}}}]}}}}