Cover image for How to check if Cloudflare API working before making calls

How to check if Cloudflare API working before making calls

paveli profile image Pavel ・2 min read

Today Cloudflare’s API and dashboard became unavailable for more than an hour already. Then things got worse as Cloudflare’s own node.js client for API do not handle such case properly.

Luckily cloudflarestatus.com is powered by Statuspage.io and has its own API.

So I end up writing a small piece of code that checks if Cloudflare API is up and working correctly.

The endpoint we are interested in is located at https://yh6f0r4529hb.statuspage.io/api/v2/summary.json.

After inspecting it:

$ curl -L https://yh6f0r4529hb.statuspage.io/api/v2/summary.json

We may find required piece of data that contains status of Cloudflare API component:

  id: 'g4tb35rs9yw7',
  name: 'Cloudflare API',
  status: 'major_outage',
  created_at: '2014-10-09T03:32:07.158Z',
  updated_at: '2020-04-15T17:39:38.257Z',
  position: 5,
  description: "Cloudflare's API where customers can read from and write to their configurations at https://api.cloudflare.com",
  showcase: false,
  group_id: '1km35smx8p41',
  page_id: 'yh6f0r4529hb',
  group: false,
  only_show_if_degraded: false

So we end up with the following code:

const fetch = require('isomorphic-unfetch');


const isApiWorking = async () => {
  let isWorking = false;
    .then((r) => r.json())
    .then((data) => {
      if (data.hasOwnProperty('components') && data.components.length > 0) {
        data.components.forEach((c) => {
          //   id: 'g4tb35rs9yw7',
          //   name: 'Cloudflare API',
          if (c.id === 'g4tb35rs9yw7' && c.status === 'operational') {
            isWorking = true;
    .catch((e) => {
  return isWorking;

And the usage may be:

isApiWorking().then((res) => {
  if (res) {
    // Do something with api
  } else {
    // Cloudflare API seems to be broken
    // Do something else

Hope this will be a help for somebody in the situation like me.

Posted on Apr 15 by:

paveli profile



love to architect and create apps


markdown guide