{
  "openapi": "3.0.1",
  "info": {
    "title": "World Bank Indicators Scraper",
    "description": "[💰 $1.6 / 1K] Extract World Bank Open Data statistics — GDP, population, inflation, health, education, climate and 29,000+ more indicators — for 200+ countries from 1960 to today. Search indicators by name or code, pick countries, regions or income groups, set any year range.",
    "version": "1.0",
    "x-build-id": "8LcuGOieJsBanU5wL"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~world-bank-indicators-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-world-bank-indicators-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/solidcode~world-bank-indicators-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-world-bank-indicators-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/solidcode~world-bank-indicators-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-world-bank-indicators-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "indicatorCodes": {
            "title": "Indicator Codes",
            "type": "array",
            "description": "The exact World Bank indicator codes you want, for example 'NY.GDP.MKTP.CD' (GDP in current US$) or 'SP.POP.TOTL' (total population). You can find codes on data.worldbank.org. Leave this empty and use the search box below if you don't know the codes.",
            "items": {
              "type": "string"
            }
          },
          "commonIndicator": {
            "title": "Or Pick A Common Indicator",
            "enum": [
              "",
              "NY.GDP.MKTP.CD",
              "NY.GDP.PCAP.CD",
              "SP.POP.TOTL",
              "FP.CPI.TOTL.ZG",
              "SP.DYN.LE00.IN",
              "SL.UEM.TOTL.ZS",
              "EN.GHG.CO2.MT.CE.AR5",
              "SH.DYN.MORT",
              "IT.NET.USER.ZS",
              "SE.XPD.TOTL.GD.ZS",
              "SI.POV.DDAY"
            ],
            "type": "string",
            "description": "Don't know any codes and don't want to search? Pick one of the most-requested World Bank statistics here and it is added to whatever is in the box above."
          },
          "indicatorSearch": {
            "title": "Search Indicators By Name",
            "type": "string",
            "description": "Don't know the code? Type words that appear in the indicator name, such as 'life expectancy', 'CO2 emissions' or 'unemployment female'. Every matching indicator is added, up to the limit set below."
          },
          "topic": {
            "title": "Subject Area",
            "enum": [
              "",
              "3",
              "8",
              "4",
              "6",
              "19",
              "10",
              "21",
              "11",
              "17",
              "5",
              "7",
              "1",
              "9",
              "12",
              "13",
              "14",
              "15",
              "16",
              "20",
              "2",
              "18"
            ],
            "type": "string",
            "description": "Only use indicators from this World Bank subject area. Great for browsing — combine it with the search box above to narrow things down. Leave blank to search across all subject areas."
          },
          "maxIndicators": {
            "title": "Maximum Indicators",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Safety limit on how many indicators the search box and subject area can add. A broad search like 'population' matches hundreds of indicators, and every extra indicator multiplies the number of rows you get. Codes you typed in yourself are always kept and do not count against this limit."
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Country codes, either 2-letter or 3-letter (US or USA, DE or DEU, BR or BRA). Enter 'all' on its own to cover every country the World Bank tracks. Leave empty to use the region or income group filters below instead.",
            "items": {
              "type": "string"
            }
          },
          "region": {
            "title": "World Region",
            "enum": [
              "",
              "EAS",
              "ECS",
              "LCN",
              "MEA",
              "NAC",
              "SAS",
              "SSF"
            ],
            "type": "string",
            "description": "Add every country in this World Bank region. Combines with anything you typed in the Countries box above."
          },
          "incomeLevel": {
            "title": "Income Group",
            "enum": [
              "",
              "HIC",
              "UMC",
              "MIC",
              "LMC",
              "LMY",
              "LIC"
            ],
            "type": "string",
            "description": "Add every country in this World Bank income group. Useful for comparing rich and poor economies side by side."
          },
          "includeAggregates": {
            "title": "Include Regional & Group Totals",
            "type": "boolean",
            "description": "Also return World Bank aggregate rows such as 'World', 'Euro area', 'Sub-Saharan Africa' and 'High income'. Turn this off if you only want individual countries — the World Bank mixes aggregates in with countries by default."
          },
          "yearFrom": {
            "title": "From Year",
            "minimum": 1960,
            "maximum": 2100,
            "type": "integer",
            "description": "Earliest year to include. World Bank data generally starts in 1960, though many indicators only begin in the 1990s or 2000s. Leave blank for no lower limit."
          },
          "yearTo": {
            "title": "To Year",
            "minimum": 1960,
            "maximum": 2100,
            "type": "integer",
            "description": "Latest year to include. Leave blank to run through to the most recent year published — including the World Bank's projection datasets, which already publish figures out to 2050."
          },
          "latestValueOnly": {
            "title": "Latest Value Only",
            "type": "boolean",
            "description": "Return just the single most recent reported value for each country and indicator instead of a full time series. Perfect for country league tables and dashboards. When switched on, the year range above is ignored."
          },
          "outputFormat": {
            "title": "Output Layout",
            "enum": [
              "observation",
              "series"
            ],
            "type": "string",
            "description": "'One row per year' gives you a long, flat table that is easy to pivot or chart — one row for each country, indicator and year. 'One row per time series' packs all the years for a country and indicator into a single row, which is far more compact for long histories."
          },
          "skipEmptyValues": {
            "title": "Skip Years With No Data",
            "type": "boolean",
            "description": "Leave out rows where the World Bank has no figure for that country and year. Coverage is patchy for many indicators, so keeping this on usually removes a lot of blank rows."
          },
          "includeIndicatorDetails": {
            "title": "Include Indicator Descriptions",
            "type": "boolean",
            "description": "Add the official definition, unit of measurement, source organisation and subject areas for each indicator, so anyone reading your spreadsheet knows exactly what the numbers mean."
          },
          "includeCountryDetails": {
            "title": "Include Country Details",
            "type": "boolean",
            "description": "Add each country's region, income group, capital city and coordinates alongside the figures. Handy for grouping and mapping."
          },
          "maxResults": {
            "title": "Maximum Results",
            "minimum": 0,
            "maximum": 500000,
            "type": "integer",
            "description": "Stop after this many rows. Set to 0 for no limit — be careful, a single indicator across every country and every year returns roughly 17,000 rows, and that multiplies by the number of indicators you selected. Two things to know, because you are charged for every row that is saved: (1) this is a stopping point rather than a hard ceiling — once it is reached no new batches are requested, but the batches already being fetched are finished and saved, so a flat-table run can return more rows than you asked for, typically 5-20% more and up to roughly double in the worst case; (2) the smallest batch the World Bank serves here is 50 rows, so any limit below 50 can still return up to 50 results. The compact 'One row per time series' layout is the exception — it is trimmed to your limit exactly. Set the limit a little below your true budget."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}