Skip to content


Repository files navigation

A community-driven catalog of Open Data Portals around the world.


This repository contains the data as well as the code for the website.


The original plans for - Feb 2013. Other ideas may be listed as Issues in this repository.


You can discuss with the community any ideas on how to improve the project or otherwise share your thoughts. Conversations with the Open Knowledge community are held in the discussion forum.

Contributing to the catalogue

You can contribute additions or corrections to the data portal list by opening a new issue in the repository. Please check the list of outstanding issues first to see if your suggestion or change is already listed there to avoid duplicates.

If you can, submitting a pull request to changet the data.csv file would be even better. See the datapackage.json file to find out the structure of the csv and the meaning of each column.

Developing the website

This app requires NodeJS (>= v9.11).

  1. Clone this repo:

    git clone --recursive

    You need to use --recursive because this repository uses Recline as a git submodule.

  2. Install the dependencies:

        npm install .

    Alternatively, you can use Docker to run the application. In that case, build the container instead:

    docker build --rm -t dataportals .

    If you are building a development environment, please use:

    docker build --rm -t dataportals . --build-arg NODE_ENV=development

    so that you can get debugging information.

  3. Try it out locally:

        node app.js

    Or, if you're using Docker, start the container instead:

    docker run --rm --name dataportals -p 5000:5000 -it dataportals node app.js

    Then point your browser at http://localhost:5000/

    Note: ctrl+c does not stop the application. You'll have to open another terminal, run docker ps to find out the container id. Then use docker stop [container_id], replacing what's inside the brackets with the proper container id.


We deploy by default to Heroku. The app is currently configured to deploy on each push to master.