Skip to content

An API which provides canadian opinion polling data. For parties such as Liberals, Conservatives, New Democratic Party, Bloc Quebecois, etc...

License

PollsterAudit/PollsterAuditApi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📡 Pollster Audit API

GitHub Actions Workflow Status License Discord Open Collective backers and sponsors

The Pollster Audit API powers PollsterAudit.ca by providing a clean, public dataset of Canadian opinion polling, updated hourly and accessible at api.pollsteraudit.ca.

Polling shapes public perception and political strategy—yet the data is often scattered, messy, or hidden. This API collects, structures, and publishes historical and current Canadian election polling data to make it more transparent and accessible for everyone: researchers, journalists, and citizens alike.

🛠️ As with all Pollster Audit tools, this API is fully open-source because transparency should apply not only to pollsters—but to those who hold them accountable.


🌐 Live API

The API is hosted live at: https://api.pollsteraudit.ca

Main endpoints:

The API is automatically regenerated every hour via GitHub Actions, and served from the api branch.


📦 Current Data Source

  • 🗳️ Wikipedia (English): We currently parse data from Wikipedia’s electoral opinion polling pages for Canada.
  • 🧪 Federal polling only for now (national voting intention).
  • 🌎 Plans for expansion:
    • Provincial-level polling
    • Issue-based and leadership polling
    • Direct parsing from pollster websites (less reliance on third parties)
    • Automatically updating wikipedia with polls from credible sources

We prioritize verifiable and transparent sources and aim to include citations for all polling data.

That's why we currently use Wikipedia as our main data source. The contributors on those pages put a lot of work into maintaining them and following wikipedia's guidelines. Resulting in unbiased polls with full coverage. One of our long-term goals is to automate a lot of the work done by these superstars.


🚀 Getting Started (for Developers)

To run the API locally:

  1. Clone the repo

    git clone https://github.com/PollsterAudit/PollsterAuditApi.git
    cd PollsterAuditApi
  2. Install dependencies

    npm install
  3. Run the data collection

    npm start

This will generate the ./output folder locally, which mirrors what gets published at api.pollsteraudit.ca.


🌐 Translations

Translation support for the API landing pages hasn't been implemented yet.
This API is part of the larger bilingual PollsterAudit project.
We are always working on improving the service, and adding translations to these pages is something we plan on implementing later.


🤝 Contributing

We welcome contributions from:

  • Developers (parsers, validators, API improvements, etc...)
  • Researchers (suggesting data sources, structures, and extra data we should process)
  • Citizens (flagging errors or omissions)

To contribute:

  • Fork the repo
  • Create a branch
  • Submit a pull request

Check out open issues or open a new one to suggest features or report bugs.


📄 License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0). See LICENSE for full details.

All raw data comes from public sources. Use it freely, but cite responsibly.


📫 Contact

Have questions or suggestions?


🧭 Why This API Matters

Polling data is public information—but it's often buried in PDFs, websites, or behind paywalls. This API makes Canadian polling more structured, searchable, and verifiable for everyone.

Let’s make election data as transparent as the decisions it’s meant to inform.

About

An API which provides canadian opinion polling data. For parties such as Liberals, Conservatives, New Democratic Party, Bloc Quebecois, etc...

Topics

Resources

License

Stars

Watchers

Forks