---
type: "firecrawl-provider"
description: "Elections Canada (elections.ca): official voting results of the 42nd (2015), 43rd (2019) and 44th (2021) federal general elections by electoral district (riding) and by poll, the 13 official summary tables (votes and seats by party, turnout, voting methods, candidates, returning officers), and the political financing contributions search (contributions to parties, riding associations, candidates and contestants). Results are read from the official CSV files Elections Canada publishes under the Open Government Licence - Canada; contributions from the anonymous search of the political financing database, whose records Elections Canada also publishes under that licence. Every output carries its source URL and the licence attribution."
use_when: "Elections Canada (elections.ca): official voting results of the 42nd (2015), 43rd (2019) and 44th (2021) federal general elections by electoral district (riding) and by poll, the 13 official summary tables (votes and seats by party, turnout, voting methods, candidates, returning officers), and the political financing contributions search (contributions to parties, riding associations, candidates and contestants). Results are read from the official CSV files Elections Canada publishes under the Open Government Licence - Canada; contributions from the anonymous search of the political financing database, whose records Elections Canada also publishes under that licence. Every output carries its source URL and the licence attribution."
categories: "Public records"
capabilities: 5
credits_per_call: 5
---
# Elections Canada official voting results and political contributions on Firecrawl Alexandria

Elections Canada (elections.ca): official voting results of the 42nd (2015), 43rd (2019) and 44th (2021) federal general elections by electoral district (riding) and by poll, the 13 official summary tables (votes and seats by party, turnout, voting methods, candidates, returning officers), and the political financing contributions search (contributions to parties, riding associations, candidates and contestants). Results are read from the official CSV files Elections Canada publishes under the Open Government Licence - Canada; contributions from the anonymous search of the political financing database, whose records Elections Canada also publishes under that licence. Every output carries its source URL and the licence attribution.

- Categories: Public records
- Category index: [Public records category](https://firecrawl.dev/alexandria/agents/categories/public-records)
- Provider key: `elections-ca`
- Access: Firecrawl credits
- Cost: 5 credits per call

## More

- [Human guide](https://firecrawl.dev/app/alexandria/elections-ca)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/elections-ca/openapi.json)

## Capabilities

- [List ridings](https://firecrawl.dev/alexandria/agents/providers/elections-ca/elections/list_ridings): Every federal electoral district (riding) of a general election with its official result summary from table 11 of the Official Voting Results: population, electors, polling stations, valid and rejected ballots, total ballots cast, turnout and the elected candidate. Optionally one province or territory. One GET of table_tableau11.csv (~48 KB).
- [Poll results](https://firecrawl.dev/alexandria/agents/providers/elections-ca/elections/poll_results): Poll-by-poll results of one electoral district (format 2 of the official raw data): each polling division and Special Voting Rules group with electors, rejected ballots, void, no-poll and merged flags and the votes of every candidate, plus the district candidate list with party, incumbent and elected flags. Paged by `offset` and `limit` (default 100 polls, up to 500); `next_offset` continues. One GET of pollresults_resultatsbureau{district}.csv (100-400 KB). An unknown district number is `not_found`.
- [Riding results](https://firecrawl.dev/alexandria/agents/providers/elections-ca/elections/riding_results): Official result of one electoral district in one general election: the table 11 summary (electors, ballots, turnout) and every candidate with party, incumbent and elected flags, votes, share, majority, residence and occupation (tables 11 and 12 joined with the district poll-by-poll file). Three GETs of the official CSV files. An unknown district number is `not_found`.
- [Search contributions](https://firecrawl.dev/alexandria/agents/providers/elections-ca/elections/search_contributions): Search the Elections Canada political financing database for contributions to parties, registered electoral district associations, candidates and leadership or nomination contestants: contributor name and address (city, province, postal code), party, recipient, date received, fiscal period, return and part, contributor type, monetary and non-monetary amounts. Filters are the site's: contributor and recipient names, recipient types, party, contributor province and types, amount range, date range; at least one is needed. Data as reviewed by Elections Canada by default, or as submitted. 200 contributions per page (`page`, `next_page`); a search the site judges too broad is `invalid_input` (too_broad). One POST and one GET to /WPAPPS/WPF/EN/CCS, plus one GET of the form when `party` is given.
- [Summary table](https://firecrawl.dev/alexandria/agents/providers/elections-ca/elections/summary_table): Any of the 13 official summary tables of a general election as columns and rows of strings, as published: 1 electors and polling stations, 2 the same for four elections, 3 ballots cast and turnout, 4 turnout for four elections, 5 valid votes by voting method, 6 valid votes under Special Voting Rules, 7 seats by party and sex, 8 valid votes by party and province, 9 percentage of valid votes by party and province, 10 candidates by vote share, 11 results by electoral district, 12 candidates and individual results, 13 returning officers. Paged by `offset` and `limit` (default 500 rows). One GET of table_tableau{NN}.csv.

## 1. Choose this provider when

Elections Canada (elections.ca): official voting results of the 42nd (2015), 43rd (2019) and 44th (2021) federal general elections by electoral district (riding) and by poll, the 13 official summary tables (votes and seats by party, turnout, voting methods, candidates, returning officers), and the political financing contributions search (contributions to parties, riding associations, candidates and contestants). Results are read from the official CSV files Elections Canada publishes under the Open Government Licence - Canada; contributions from the anonymous search of the political financing database, whose records Elections Canada also publishes under that licence. Every output carries its source URL and the licence attribution.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "elections-ca",
  "capability": "elections/list_ridings",
  "options": {
    "election": "44",
    "province": "PE"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `election` (string, required): General election number: 44 (2021-09-20), 43 (2019-10-21) or 42 (2015-10-19). Elections Canada publishes these official voting results under the Open Government Licence - Canada; the 45th general election and by-elections are not yet released under that licence and are not served. Example: `42`
- `province` (string): Only districts of this province or territory (two-letter code). Example: `NL`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "elections-ca",
    capability: "elections/list_ridings",
    options: {
      election: "44",
      province: "PE",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "elections-ca",
  "capability": "elections/list_ridings",
  "options": {
    "election": "44",
    "province": "PE"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "elections-ca",
    "capability": "elections/list_ridings",
    "options": {
      "election": "44",
      "province": "PE"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'elections-ca/elections/list_ridings' \
  --options '{"election":"44","province":"PE"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "elections-ca",
  "capability": "elections/list_ridings",
  "options": {
    "election": "44",
    "province": "PE"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "elections-ca",
  "capability": "elections/list_ridings",
  "options": {
    "election": "44",
    "province": "PE"
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "count": 4,
  "election": {
    "date": "2021-09-20",
    "name": "44th General Election",
    "number": "44",
    "results_url": "https://www.elections.ca/res/rep/off/ovr2021app/home.html"
  },
  "licence": {
    "attribution": "Contains information licensed under the Open Government Licence - Canada. Source: Elections Canada, 44th General Election official voting results.",
    "dataset_url": "https://open.canada.ca/data/en/dataset/065439a9-c194-4259-9c95-245a852be4a1",
    "name": "Open Government Licence - Canada",
    "url": "https://open.canada.ca/en/open-government-licence-canada"
  },
  "observed_at_ms": 1792969367831,
  "province": "PE",
  "ridings": [
    {
      "district_name": "Cardigan",
      "district_number": "11001",
      "elected_candidate": "MacAulay, Lawrence Liberal/Libéral",
      "electors": 30843,
      "polling_stations": 93,
      "population": 36615,
      "province": "Prince Edward Island",
      "province_code": "PE",
      "rejected_ballots": 199,
      "rejected_ballots_pct": 0.9,
      "total_ballots_cast": 22293,
      "turnout_pct": 72.3,
      "valid_ballots": 22094,
      "valid_ballots_pct": 99.1
    },
    {
      "district_name": "Charlottetown",
      "district_number": "11002",
      "elected_candidate": "Casey, Sean Liberal/Libéral",
      "electors": 27383,
      "polling_stations": 71,
      "population": 36094,
      "province": "Prince Edward Island",
      "province_code": "PE",
      "rejected_ballots": 198,
      "rejected_ballots_pct": 1,
      "total_ballots_cast": 19298,
      "turnout_pct": 70.5,
      "valid_ballots": 19100,
      "valid_ballots_pct": 99
    },
    {
      "district_name": "Egmont",
      "district_number": "11003",
      "elected_candidate": "Morrissey, Bobby Liberal/Libéral",
      "electors": 28729,
      "polling_stations": 97,
      "population": 34168,
      "province": "Prince Edward Island",
      "province_code": "PE",
      "rejected_ballots": 244,
      "rejected_ballots_pct": 1.2,
      "total_ballots_cast": 19805,
      "turnout_pct": 68.9,
      "valid_ballots": 19561,
      "valid_ballots_pct": 98.8
    },
    {
      "district_name": "Malpeque",
      "district_number": "11004",
      "elected_candidate": "MacDonald, Heath Liberal/Libéral",
      "electors": 32009,
      "polling_stations": 87,
      "population": 36030,
      "province": "Prince Edward Island",
      "province_code": "PE",
      "rejected_ballots": 174,
      "rejected_ballots_pct": 0.7,
      "total_ballots_cast": 23881,
      "turnout_pct": 74.6,
      "valid_ballots": 23707,
      "valid_ballots_pct": 99.3
    }
  ],
  "source_url": "https://www.elections.ca/res/rep/off/ovr2021app/53/data_donnees/table_tableau11.csv"
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### List ridings

- Capability: `elections/list_ridings`
- Description: Every federal electoral district (riding) of a general election with its official result summary from table 11 of the Official Voting Results: population, electors, polling stations, valid and rejected ballots, total ballots cast, turnout and the elected candidate. Optionally one province or territory. One GET of table_tableau11.csv (~48 KB).
- Instructions: Overview of a whole election or a province by riding; find district numbers for `riding_results` and `poll_results`.
- Cost: 5 credits per call
- Capability file: [List ridings](https://firecrawl.dev/alexandria/agents/providers/elections-ca/elections/list_ridings)

Accepted options:
- `election` (string, required): General election number: 44 (2021-09-20), 43 (2019-10-21) or 42 (2015-10-19). Elections Canada publishes these official voting results under the Open Government Licence - Canada; the 45th general election and by-elections are not yet released under that licence and are not served. Example: `42`
- `province` (string): Only districts of this province or territory (two-letter code). Example: `NL`

Response schema example:
```json
{
  "count": 4,
  "election": {
    "date": "2021-09-20",
    "name": "44th General Election",
    "number": "44",
    "results_url": "https://www.elections.ca/res/rep/off/ovr2021app/home.html"
  },
  "licence": {
    "attribution": "Contains information licensed under the Open Government Licence - Canada. Source: Elections Canada, 44th General Election official voting results.",
    "dataset_url": "https://open.canada.ca/data/en/dataset/065439a9-c194-4259-9c95-245a852be4a1",
    "name": "Open Government Licence - Canada",
    "url": "https://open.canada.ca/en/open-government-licence-canada"
  },
  "observed_at_ms": 1792969367831,
  "province": "PE",
  "ridings": [
    {
      "district_name": "Cardigan",
      "district_number": "11001",
      "elected_candidate": "MacAulay, Lawrence Liberal/Libéral",
      "electors": 30843,
      "polling_stations": 93,
      "population": 36615,
      "province": "Prince Edward Island",
      "province_code": "PE",
      "rejected_ballots": 199,
      "rejected_ballots_pct": 0.9,
      "total_ballots_cast": 22293,
      "turnout_pct": 72.3,
      "valid_ballots": 22094,
      "valid_ballots_pct": 99.1
    },
    {
      "district_name": "Charlottetown",
      "district_number": "11002",
      "elected_candidate": "Casey, Sean Liberal/Libéral",
      "electors": 27383,
      "polling_stations": 71,
      "population": 36094,
      "province": "Prince Edward Island",
      "province_code": "PE",
      "rejected_ballots": 198,
      "rejected_ballots_pct": 1,
      "total_ballots_cast": 19298,
      "turnout_pct": 70.5,
      "valid_ballots": 19100,
      "valid_ballots_pct": 99
    },
    {
      "district_name": "Egmont",
      "district_number": "11003",
      "elected_candidate": "Morrissey, Bobby Liberal/Libéral",
      "electors": 28729,
      "polling_stations": 97,
      "population": 34168,
      "province": "Prince Edward Island",
      "province_code": "PE",
      "rejected_ballots": 244,
      "rejected_ballots_pct": 1.2,
      "total_ballots_cast": 19805,
      "turnout_pct": 68.9,
      "valid_ballots": 19561,
      "valid_ballots_pct": 98.8
    },
    {
      "district_name": "Malpeque",
      "district_number": "11004",
      "elected_candidate": "MacDonald, Heath Liberal/Libéral",
      "electors": 32009,
      "polling_stations": 87,
      "population": 36030,
      "province": "Prince Edward Island",
      "province_code": "PE",
      "rejected_ballots": 174,
      "rejected_ballots_pct": 0.7,
      "total_ballots_cast": 23881,
      "turnout_pct": 74.6,
      "valid_ballots": 23707,
      "valid_ballots_pct": 99.3
    }
  ],
  "source_url": "https://www.elections.ca/res/rep/off/ovr2021app/53/data_donnees/table_tableau11.csv"
}
```

### Poll results

- Capability: `elections/poll_results`
- Description: Poll-by-poll results of one electoral district (format 2 of the official raw data): each polling division and Special Voting Rules group with electors, rejected ballots, void, no-poll and merged flags and the votes of every candidate, plus the district candidate list with party, incumbent and elected flags. Paged by `offset` and `limit` (default 100 polls, up to 500); `next_offset` continues. One GET of pollresults_resultatsbureau{district}.csv (100-400 KB). An unknown district number is `not_found`.
- Instructions: Results at polling-division level inside a riding: neighbourhood results, turnout by poll, merged or void polls.
- Cost: 5 credits per call
- Capability file: [Poll results](https://firecrawl.dev/alexandria/agents/providers/elections-ca/elections/poll_results)

Accepted options:
- `district_number` (string, required): Five-digit federal electoral district number (2013 Representation Order, used by the 42nd to 44th general elections), e.g. 35075 Ottawa Centre. The first two digits are the province (10 NL, 11 PE, 12 NS, 13 NB, 24 QC, 35 ON, 46 MB, 47 SK, 48 AB, 59 BC, 60 YT, 61 NT, 62 NU). `list_ridings` lists them. Pattern: ^[0-9]{5}$. Example: `list_ridings`
- `election` (string, required): General election number: 44 (2021-09-20), 43 (2019-10-21) or 42 (2015-10-19). Elections Canada publishes these official voting results under the Open Government Licence - Canada; the 45th general election and by-elections are not yet released under that licence and are not served. Example: `42`
- `limit` (number): Polls per page. Example: `100`
- `offset` (number): Index of the first poll to return. Example: `0`

Response schema example:
```json
{
  "candidates": [
    {
      "elected": false,
      "incumbent": false,
      "name": "Shelby Bertrand",
      "party": "Animal Protection Party",
      "votes": 261
    },
    {
      "elected": false,
      "incumbent": false,
      "name": "Carol Clemenhagen",
      "party": "Conservative",
      "votes": 11650
    },
    {
      "elected": false,
      "incumbent": false,
      "name": "Richard 'Rich' Joyal",
      "party": "Independent",
      "votes": 132
    },
    {
      "elected": false,
      "incumbent": false,
      "name": "Angela Keller-Herzog",
      "party": "Green Party",
      "votes": 2115
    },
    {
      "elected": false,
      "incumbent": false,
      "name": "Angella MacEwen",
      "party": "NDP-New Democratic Party",
      "votes": 24552
    },
    {
      "elected": false,
      "incumbent": false,
      "name": "Alex McDonald",
      "party": "Communist",
      "votes": 201
    },
    {
      "elected": true,
      "incumbent": false,
      "name": "Yasir Naqvi",
      "party": "Liberal",
      "votes": 33825
    },
    {
      "elected": false,
      "incumbent": false,
      "name": "Regina Watteel",
      "party": "People's Party - PPC",
      "votes": 1605
    }
  ],
  "count": 5,
  "district_name": "Ottawa Centre",
  "district_name_fr": "Ottawa-Centre",
  "district_number": "35075",
  "election": {
    "date": "2021-09-20",
    "name": "44th General Election",
    "number": "44",
    "results_url": "https://www.elections.ca/res/rep/off/ovr2021app/home.html"
  },
  "licence": {
    "attribution": "Contains information licensed under the Open Government Licence - Canada. Source: Elections Canada, 44th General Election official voting results.",
    "dataset_url": "https://open.canada.ca/data/en/dataset/d5512235-cfb2-4ccf-a886-547913f4aa52",
    "name": "Open Government Licence - Canada",
    "url": "https://open.canada.ca/en/open-government-licence-canada"
  },
  "limit": 5,
  "next_offset": 5,
  "observed_at_ms": 1792969367873,
  "offset": 0,
  "polls": [
    {
      "electors": 988,
      "merged_with": null,
      "no_poll_held": false,
      "poll_name": "Ottawa",
      "poll_number": "1",
      "rejected_ballots": 1,
      "valid_votes": 290,
      "void": false,
      "votes": [
        {
          "name": "Shelby Bertrand",
          "party": "Animal Protection Party",
          "votes": 1
        },
        {
          "name": "Carol Clemenhagen",
          "party": "Conservative",
          "votes": 49
        },
        {
          "name": "Richard 'Rich' Joyal",
          "party": "Independent",
          "votes": 0
        },
        {
          "name": "Angela Keller-Herzog",
          "party": "Green Party",
          "votes": 3
        },
        {
          "name": "Angella MacEwen",
          "party": "NDP-New Democratic Party",
          "votes": 92
        },
        {
          "name": "Alex McDonald",
          "party": "Communist",
          "votes": 0
        },
        {
          "name": "Yasir Naqvi",
          "party": "Liberal",
          "votes": 138
        },
        {
          "name": "Regina Watteel",
          "party": "People's Party - PPC",
          "votes": 7
        }
      ]
    },
    {
      "electors": 0,
      "merged_with": null,
      "no_poll_held": false,
      "poll_name": "Ottawa",
      "poll_number": "2",
      "rejected_ballots": 0,
      "valid_votes": 0,
      "void": true,
      "votes": [
        {
          "name": "Shelby Bertrand",
          "party": "Animal Protection Party",
          "votes": 0
        },
        {
          "name": "Carol Clemenhagen",
          "party": "Conservative",
          "votes": 0
        },
        {
          "name": "Richard 'Rich' Joyal",
          "party": "Independent",
          "votes": 0
        },
        {
          "name": "Angela Keller-Herzog",
          "party": "Green Party",
          "votes": 0
        },
        {
          "name": "Angella MacEwen",
          "party": "NDP-New Democratic Party",
          "votes": 0
        },
        {
          "name": "Alex McDonald",
          "party": "Communist",
          "votes": 0
        },
        {
          "name": "Yasir Naqvi",
          "party": "Liberal",
          "votes": 0
        },
        {
          "name": "Regina Watteel",
          "party": "People's Party - PPC",
          "votes": 0
        }
      ]
    },
    {
      "electors": 540,
      "merged_with": null,
      "no_poll_held": false,
      "poll_name": "Ottawa",
      "poll_number": "3",
      "rejected_ballots": 1,
      "valid_votes": 217,
      "void": false,
      "votes": [
        {
          "name": "Shelby Bertrand",
          "party": "Animal Protection Party",
          "votes": 1
        },
        {
          "name": "Carol Clemenhagen",
          "party": "Conservative",
          "votes": 48
        },
        {
          "name": "Richard 'Rich' Joyal",
          "party": "Independent",
          "votes": 0
        },
        {
          "name": "Angela Keller-Herzog",
          "party": "Green Party",
          "votes": 7
        },
        {
          "name": "Angella MacEwen",
          "party": "NDP-New Democratic Party",
          "votes": 74
        },
        {
          "name": "Alex McDonald",
          "party": "Communist",
          "votes": 2
        },
        {
          "name": "Yasir Naqvi",
          "party": "Liberal",
          "votes": 76
        },
        {
          "name": "Regina Watteel",
          "party": "People's Party - PPC",
          "votes": 9
        }
      ]
    },
    {
      "electors": 560,
      "merged_with": null,
      "no_poll_held": false,
      "poll_name": "Ottawa",
      "poll_number": "4",
      "rejected_ballots": 2,
      "valid_votes": 186,
      "void": false,
      "votes": [
        {
          "name": "Shelby Bertrand",
          "party": "Animal Protection Party",
          "votes": 2
        },
        {
          "name": "Carol Clemenhagen",
          "party": "Conservative",
          "votes": 21
        },
        {
          "name": "Richard 'Rich' Joyal",
          "party": "Independent",
          "votes": 0
        },
        {
          "name": "Angela Keller-Herzog",
          "party": "Green Party",
          "votes": 4
        },
        {
          "name": "Angella MacEwen",
          "party": "NDP-New Democratic Party",
          "votes": 82
        },
        {
          "name": "Alex McDonald",
          "party": "Communist",
          "votes": 1
        },
        {
          "name": "Yasir Naqvi",
          "party": "Liberal",
          "votes": 68
        },
        {
          "name": "Regina Watteel",
          "party": "People's Party - PPC",
          "votes": 8
        }
      ]
    },
    {
      "electors": 444,
      "merged_with": null,
      "no_poll_held": false,
      "poll_name": "Ottawa",
      "poll_number": "5",
      "rejected_ballots": 0,
      "valid_votes": 143,
      "void": false,
      "votes": [
        {
          "name": "Shelby Bertrand",
          "party": "Animal Protection Party",
          "votes": 0
        },
        {
          "name": "Carol Clemenhagen",
          "party": "Conservative",
          "votes": 24
        },
        {
          "name": "Richard 'Rich' Joyal",
          "party": "Independent",
          "votes": 0
        },
        {
          "name": "Angela Keller-Herzog",
          "party": "Green Party",
          "votes": 11
        },
        {
          "name": "Angella MacEwen",
          "party": "NDP-New Democratic Party",
          "votes": 56
        },
        {
          "name": "Alex McDonald",
          "party": "Communist",
          "votes": 1
        },
        {
          "name": "Yasir Naqvi",
          "party": "Liberal",
          "votes": 43
        },
        {
          "name": "Regina Watteel",
          "party": "People's Party - PPC",
          "votes": 8
        }
      ]
    }
  ],
  "source_url": "https://www.elections.ca/res/rep/off/ovr2021app/53/data_donnees/pollresults_resultatsbureau35075.csv",
  "total_polls": 274
}
```

### Riding results

- Capability: `elections/riding_results`
- Description: Official result of one electoral district in one general election: the table 11 summary (electors, ballots, turnout) and every candidate with party, incumbent and elected flags, votes, share, majority, residence and occupation (tables 11 and 12 joined with the district poll-by-poll file). Three GETs of the official CSV files. An unknown district number is `not_found`.
- Instructions: Who ran and who won in a riding, with vote counts and shares; past results of a riding across the 42nd to 44th elections (one call per election).
- Cost: 5 credits per call
- Capability file: [Riding results](https://firecrawl.dev/alexandria/agents/providers/elections-ca/elections/riding_results)

Accepted options:
- `district_number` (string, required): Five-digit federal electoral district number (2013 Representation Order, used by the 42nd to 44th general elections), e.g. 35075 Ottawa Centre. The first two digits are the province (10 NL, 11 PE, 12 NS, 13 NB, 24 QC, 35 ON, 46 MB, 47 SK, 48 AB, 59 BC, 60 YT, 61 NT, 62 NU). `list_ridings` lists them. Pattern: ^[0-9]{5}$. Example: `list_ridings`
- `election` (string, required): General election number: 44 (2021-09-20), 43 (2019-10-21) or 42 (2015-10-19). Elections Canada publishes these official voting results under the Open Government Licence - Canada; the 45th general election and by-elections are not yet released under that licence and are not served. Example: `42`

Response schema example:
```json
{
  "candidate_count": 8,
  "candidates": [
    {
      "elected": true,
      "family_name": "Naqvi",
      "first_name": "Yasir",
      "incumbent": false,
      "majority": 9273,
      "majority_pct": 12.5,
      "middle_name": null,
      "name": "Yasir Naqvi",
      "occupation": "Lawyer/Avocat",
      "party": "Liberal",
      "party_fr": "Libéral",
      "residence": "Ottawa, Ont.",
      "vote_pct": 45.5,
      "votes": 33825
    },
    {
      "elected": false,
      "family_name": "MacEwen",
      "first_name": "Angella",
      "incumbent": false,
      "majority": null,
      "majority_pct": null,
      "middle_name": null,
      "name": "Angella MacEwen",
      "occupation": "Economist/Économiste",
      "party": "NDP-New Democratic Party",
      "party_fr": "NPD-Nouveau Parti démocratique",
      "residence": "Ottawa, Ont.",
      "vote_pct": 33,
      "votes": 24552
    },
    {
      "elected": false,
      "family_name": "Clemenhagen",
      "first_name": "Carol",
      "incumbent": false,
      "majority": null,
      "majority_pct": null,
      "middle_name": null,
      "name": "Carol Clemenhagen",
      "occupation": "Healthcare Executive - Retired/Cadre dans le secteur de la santé – à la retraite",
      "party": "Conservative",
      "party_fr": "Conservateur",
      "residence": "Ottawa, Ont.",
      "vote_pct": 15.7,
      "votes": 11650
    },
    {
      "elected": false,
      "family_name": "Keller-Herzog",
      "first_name": "Angela",
      "incumbent": false,
      "majority": null,
      "majority_pct": null,
      "middle_name": null,
      "name": "Angela Keller-Herzog",
      "occupation": "Business Person/Personne d'affaires",
      "party": "Green Party",
      "party_fr": "Parti Vert",
      "residence": "Ottawa, Ont.",
      "vote_pct": 2.8,
      "votes": 2115
    },
    {
      "elected": false,
      "family_name": "Watteel",
      "first_name": "Regina",
      "incumbent": false,
      "majority": null,
      "majority_pct": null,
      "middle_name": null,
      "name": "Regina Watteel",
      "occupation": "Self-Employed/Travailleuse indépendante",
      "party": "People's Party - PPC",
      "party_fr": "Parti populaire - PPC",
      "residence": "Navan, Ont.",
      "vote_pct": 2.2,
      "votes": 1605
    },
    {
      "elected": false,
      "family_name": "Bertrand",
      "first_name": "Shelby",
      "incumbent": false,
      "majority": null,
      "majority_pct": null,
      "middle_name": null,
      "name": "Shelby Bertrand",
      "occupation": "Teaching Assistant/Assistante à l'enseignement",
      "party": "Animal Protection Party",
      "party_fr": "Parti Protection Animaux",
      "residence": "Ottawa, Ont.",
      "vote_pct": 0.4,
      "votes": 261
    },
    {
      "elected": false,
      "family_name": "McDonald",
      "first_name": "Alex",
      "incumbent": false,
      "majority": null,
      "majority_pct": null,
      "middle_name": null,
      "name": "Alex McDonald",
      "occupation": "Retired Teacher/Enseignant à la retraite",
      "party": "Communist",
      "party_fr": "Communiste",
      "residence": "Ottawa, Ont.",
      "vote_pct": 0.3,
      "votes": 201
    },
    {
      "elected": false,
      "family_name": "Joyal",
      "first_name": "Richard 'Rich'",
      "incumbent": false,
      "majority": null,
      "majority_pct": null,
      "middle_name": null,
      "name": "Richard 'Rich' Joyal",
      "occupation": "Self-Employed/Travailleur indépendant",
      "party": "Independent",
      "party_fr": "Indépendant(e)",
      "residence": "Ottawa, Ont.",
      "vote_pct": 0.2,
      "votes": 132
    }
  ],
  "district_name": "Ottawa Centre",
  "district_name_fr": "Ottawa-Centre",
  "district_number": "35075",
  "election": {
    "date": "2021-09-20",
    "name": "44th General Election",
    "number": "44",
    "results_url": "https://www.elections.ca/res/rep/off/ovr2021app/home.html"
  },
  "licence": {
    "attribution": "Contains information licensed under the Open Government Licence - Canada. Source: Elections Canada, 44th General Election official voting results.",
    "dataset_url": "https://open.canada.ca/data/en/dataset/065439a9-c194-4259-9c95-245a852be4a1",
    "name": "Open Government Licence - Canada",
    "url": "https://open.canada.ca/en/open-government-licence-canada"
  },
  "observed_at_ms": 1792969367861,
  "poll_count": 274,
  "province": "Ontario",
  "province_code": "ON",
  "source_urls": [
    "https://www.elections.ca/res/rep/off/ovr2021app/53/data_donnees/table_tableau11.csv",
    "https://www.elections.ca/res/rep/off/ovr2021app/53/data_donnees/table_tableau12.csv",
    "https://www.elections.ca/res/rep/off/ovr2021app/53/data_donnees/pollresults_resultatsbureau35075.csv"
  ],
  "summary": {
    "electors": 100004,
    "polling_stations": 261,
    "population": 118038,
    "rejected_ballots": 497,
    "rejected_ballots_pct": 0.7,
    "total_ballots_cast": 74838,
    "turnout_pct": 74.8,
    "valid_ballots": 74341,
    "valid_ballots_pct": 99.3
  }
}
```

### Search contributions

- Capability: `elections/search_contributions`
- Description: Search the Elections Canada political financing database for contributions to parties, registered electoral district associations, candidates and leadership or nomination contestants: contributor name and address (city, province, postal code), party, recipient, date received, fiscal period, return and part, contributor type, monetary and non-monetary amounts. Filters are the site's: contributor and recipient names, recipient types, party, contributor province and types, amount range, date range; at least one is needed. Data as reviewed by Elections Canada by default, or as submitted. 200 contributions per page (`page`, `next_page`); a search the site judges too broad is `invalid_input` (too_broad). One POST and one GET to /WPAPPS/WPF/EN/CCS, plus one GET of the form when `party` is given.
- Instructions: Who gave to a party, riding association or candidate; a person's political donations; contributions in a date or amount range.
- Cost: 5 credits per call
- Capability file: [Search contributions](https://firecrawl.dev/alexandria/agents/providers/elections-ca/elections/search_contributions)

Accepted options:
- `contribution_type` (string): contribution_type Example: `all`
- `contributor_first_name` (string): contributor_first_name Example: `<contributor_first_name>`
- `contributor_last_name` (string): Contributor family name. Example: `<contributor_last_name>`
- `contributor_province` (string): Contributor province or territory. Example: `NL`
- `contributor_types` (string[]): contributor_types Example: `[]`
- `data` (string): Return data as reviewed/amended by Elections Canada, or as originally submitted. Example: `as_reviewed`
- `from_date` (string): Received on or after (YYYY-MM-DD). Pattern: ^\d{4}-\d{2}-\d{2}$. Example: `<from_date>`
- `max_amount` (number): max_amount Example: `10`
- `min_amount` (number): min_amount Example: `10`
- `page` (number): page Example: `1`
- `party` (string): Party name or a unique part of it as listed by the site, e.g. Liberal Party of Canada, Conservative, Bloc, Green, New Democratic Party. Example: `<party>`
- `recipient_first_name` (string): recipient_first_name Example: `<recipient_first_name>`
- `recipient_last_name` (string): Candidate or contestant family name; applies to candidates and contestants only. Example: `<recipient_last_name>`
- `recipient_types` (string[]): Default: all political entities. Example: `[]`
- `to_date` (string): Pattern: ^\d{4}-\d{2}-\d{2}$. Example: `<to_date>`

Response schema example:
```json
{
  "contributions": [
    {
      "contributor_address": "Nepean ON K2G 1C5",
      "contributor_city": "Nepean",
      "contributor_name": "Poilievre, Pierre M",
      "contributor_postal_code": "K2G 1C5",
      "contributor_province": "ON",
      "contributor_type": "Individuals",
      "date_received": "2005-04-13",
      "date_received_text": "Apr 13, 2005",
      "fiscal_period_end": "2005-12-31",
      "fiscal_period_end_text": "Dec 31, 2005",
      "monetary_amount": 275,
      "non_monetary_amount": 0,
      "political_party": "Conservative Party of Canada",
      "recipient": "Nepean--Carleton Conservative Association",
      "report": "Registered Association Financial Transactions Return / Part 2a"
    },
    {
      "contributor_address": "Nepean ON K2J3K4",
      "contributor_city": "Nepean",
      "contributor_name": "Poilievre, Pierre M",
      "contributor_postal_code": "K2J 3K4",
      "contributor_province": "ON",
      "contributor_type": "Individuals",
      "date_received": "2010-11-02",
      "date_received_text": "Nov 02, 2010",
      "fiscal_period_end": "2010-12-31",
      "fiscal_period_end_text": "Dec 31, 2010",
      "monetary_amount": 1100,
      "non_monetary_amount": 0,
      "political_party": "Conservative Party of Canada",
      "recipient": "Conservative Party of Canada",
      "report": "Registered Party Financial Transactions Return C-2 (2007) / Part 2a"
    },
    {
      "contributor_address": "Nepean ON K2J3K4",
      "contributor_city": "Nepean",
      "contributor_name": "Poilievre, Pierre M",
      "contributor_postal_code": "K2J 3K4",
      "contributor_province": "ON",
      "contributor_type": "Individuals",
      "date_received": "2009-07-23",
      "date_received_text": "Jul 23, 2009",
      "fiscal_period_end": "2009-12-31",
      "fiscal_period_end_text": "Dec 31, 2009",
      "monetary_amount": 100,
      "non_monetary_amount": 0,
      "political_party": "Conservative Party of Canada",
      "recipient": "Conservative Party of Canada",
      "report": "Registered Party Financial Transactions Return C-2 (2007) / Part 2a"
    },
    {
      "contributor_address": "Nepean ON K2J3K4",
      "contributor_city": "Nepean",
      "contributor_name": "Poilievre, Pierre M",
      "contributor_postal_code": "K2J 3K4",
      "contributor_province": "ON",
      "contributor_type": "Individuals",
      "date_received": "2009-03-16",
      "date_received_text": "Mar 16, 2009",
      "fiscal_period_end": "2009-12-31",
      "fiscal_period_end_text": "Dec 31, 2009",
      "monetary_amount": 1000,
      "non_monetary_amount": 0,
      "political_party": "Conservative Party of Canada",
      "recipient": "Conservative Party of Canada",
      "report": "Registered Party Financial Transactions Return C-2 (2007) / Part 2a"
    },
    {
      "contributor_address": "ROCKCLIFFE ON K1M0M5",
      "contributor_city": "ROCKCLIFFE",
      "contributor_name": "Poilievre, Pierre M",
      "contributor_postal_code": "K1M 0M5",
      "contributor_province": "ON",
      "contributor_type": "Individuals",
      "date_received": "2023-08-31",
      "date_received_text": "Aug 31, 2023",
      "fiscal_period_end": "2023-12-31",
      "fiscal_period_end_text": "Dec 31, 2023",
      "monetary_amount": 1700,
      "non_monetary_amount": 0,
      "political_party": "Conservative Party of Canada",
      "recipient": "Conservative Party of Canada",
      "report": "Registered Party Financial Transactions Return (2019) / Part 2a"
    },
    {
      "contributor_address": "ROCKCLIFFE ON K1M0M6",
      "contributor_city": "ROCKCLIFFE",
      "contributor_name": "Poilievre, Pierre M",
      "contributor_postal_code": "K1M 0M6",
      "contributor_province": "ON",
      "contributor_type": "Individuals",
      "date_received": "2022-12-19",
      "date_received_text": "Dec 19, 2022",
      "fiscal_period_end": "2022-12-31",
      "fiscal_period_end_text": "Dec 31, 2022",
      "monetary_amount": 1675,
      "non_monetary_amount": 0,
      "political_party": "Conservative Party of Canada",
      "recipient": "Conservative Party of Canada",
      "report": "Registered Party Financial Transactions Return (2019) / Part 2a"
    },
    {
      "contributor_address": "GREELY ON K4P1M6",
      "contributor_city": "GREELY",
      "contributor_name": "Poilievre, Pierre M",
      "contributor_postal_code": "K4P 1M6",
      "contributor_province": "ON",
      "contributor_type": "Individuals",
      "date_received": "2021-12-31",
      "date_received_text": "Dec 31, 2021",
      "fiscal_period_end": "2021-12-31",
      "fiscal_period_end_text": "Dec 31, 2021",
      "monetary_amount": 25,
      "non_monetary_amount": 0,
      "political_party": "Conservative Party of Canada",
      "recipient": "Conservative Party of Canada",
      "report": "Registered Party Financial Transactions Return (2019) / Part 2a"
    },
    {
      "contributor_address": "GREELY ON K4P1M6",
      "contributor_city": "GREELY",
      "contributor_name": "Poilievre, Pierre M",
      "contributor_postal_code": "K4P 1M6",
      "contributor_province": "ON",
      "contributor_type": "Individuals",
      "date_received": "2021-12-31",
      "date_received_text": "Dec 31, 2021",
      "fiscal_period_end": "2021-12-31",
      "fiscal_period_end_text": "Dec 31, 2021",
      "monetary_amount": 500,
      "non_monetary_amount": 0,
      "political_party": "Conservative Party of Canada",
      "recipient": "Conservative Party of Canada",
      "report": "Registered Party Financial Transactions Return (2019) / Part 2a"
    },
    {
      "contributor_address": "GREELY ON K4P1M6",
      "contributor_city": "GREELY",
      "contributor_name": "Poilievre, Pierre M",
      "contributor_postal_code": "K4P 1M6",
      "contributor_province": "ON",
      "contributor_type": "Individuals",
      "date_received": "2020-12-09",
      "date_received_text": "Dec 09, 2020",
      "fiscal_period_end": "2020-12-31",
      "fiscal_period_end_text": "Dec 31, 2020",
      "monetary_amount": 550,
      "non_monetary_amount": 0,
      "political_party": "Conservative Party of Canada",
      "recipient": "Conservative Party of Canada",
      "report": "Registered Party Financial Transactions Return (2019) / Part 2a"
    },
    {
      "contributor_address": "Nepean ON K2J3K4",
      "contributor_city": "Nepean",
      "contributor_name": "Poilievre, Pierre M",
      "contributor_postal_code": "K2J 3K4",
      "contributor_province": "ON",
      "contributor_type": "Individuals",
      "date_received": "2008-06-27",
      "date_received_text": "Jun 27, 2008",
      "fiscal_period_end": "2008-12-31",
      "fiscal_period_end_text": "Dec 31, 2008",
      "monetary_amount": 525,
      "non_monetary_amount": 0,
      "political_party": "Conservative Party of Canada",
      "recipient": "Conservative Party of Canada",
      "report": "Registered Party Financial Transactions Return C-2 (2007) / Part 2a"
    }
  ],
  "count": 42,
  "filters": {
    "contribution_type": "all",
    "contributor_first_name": "Pierre",
    "contributor_last_name": "Poilievre",
    "contributor_province": null,
    "contributor_types": [],
    "data": "as_reviewed",
    "from_date": null,
    "max_amount": null,
    "min_amount": null,
    "party": null,
    "recipient_first_name": null,
    "recipient_last_name": null,
    "recipient_types": [],
    "to_date": null
  },
  "licence": {
    "attribution": "Contains information licensed under the Open Government Licence - Canada. Source: Elections Canada, political financing contributions.",
    "dataset_url": "https://open.canada.ca/data/en/dataset/ef1e3528-b570-4a42-92ef-18a9749af8f2",
    "name": "Open Government Licence - Canada",
    "url": "https://open.canada.ca/en/open-government-licence-canada"
  },
  "next_page": null,
  "observed_at_ms": 1792969367901,
  "page": 1,
  "page_size": 200,
  "party_id": null,
  "source_url": "https://www.elections.ca/WPAPPS/WPF/EN/CCS/Index?returntype=1",
  "total_pages": 1,
  "total_records": 42
}
```

### Summary table

- Capability: `elections/summary_table`
- Description: Any of the 13 official summary tables of a general election as columns and rows of strings, as published: 1 electors and polling stations, 2 the same for four elections, 3 ballots cast and turnout, 4 turnout for four elections, 5 valid votes by voting method, 6 valid votes under Special Voting Rules, 7 seats by party and sex, 8 valid votes by party and province, 9 percentage of valid votes by party and province, 10 candidates by vote share, 11 results by electoral district, 12 candidates and individual results, 13 returning officers. Paged by `offset` and `limit` (default 500 rows). One GET of table_tableau{NN}.csv.
- Instructions: National and provincial totals: votes and seats by party, turnout, voting methods, special ballots.
- Cost: 5 credits per call
- Capability file: [Summary table](https://firecrawl.dev/alexandria/agents/providers/elections-ca/elections/summary_table)

Accepted options:
- `election` (string, required): General election number: 44 (2021-09-20), 43 (2019-10-21) or 42 (2015-10-19). Elections Canada publishes these official voting results under the Open Government Licence - Canada; the 45th general election and by-elections are not yet released under that licence and are not served. Example: `42`
- `limit` (number): limit Example: `500`
- `offset` (number): offset Example: `0`
- `table` (number, required): Table number 1-13. Example: `10`

Response schema example:
```json
{
  "columns": [
    "Political affiliation/Appartenance politique",
    "N.L. Valid Votes/Votes valides T.-N.-L.",
    "P.E.I. Valid Votes/Votes valides Î.-P.-É.",
    "N.S. Valid Votes/Votes valides N.-É.",
    "N.B. Valid Votes/Votes valides N.-B.",
    "Que. Valid Votes/Votes valides Qc",
    "Ont. Valid Votes/Votes valides Ont.",
    "Man. Valid Votes/Votes valides Man.",
    "Sask. Valid Votes/Votes valides Sask.",
    "Alta. Valid Votes/Votes valides Alb.",
    "B.C. Valid Votes/Votes valides C.-B.",
    "Y.T. Valid Votes/Votes valides Yn",
    "N.W.T. Valid Votes/Votes valides T.N.-O.",
    "Nun. Valid Votes/Votes valides Nt"
  ],
  "count": 24,
  "election": {
    "date": "2021-09-20",
    "name": "44th General Election",
    "number": "44",
    "results_url": "https://www.elections.ca/res/rep/off/ovr2021app/home.html"
  },
  "licence": {
    "attribution": "Contains information licensed under the Open Government Licence - Canada. Source: Elections Canada, 44th General Election official voting results.",
    "dataset_url": "https://open.canada.ca/data/en/dataset/065439a9-c194-4259-9c95-245a852be4a1",
    "name": "Open Government Licence - Canada",
    "url": "https://open.canada.ca/en/open-government-licence-canada"
  },
  "limit": 500,
  "next_offset": null,
  "observed_at_ms": 1792969367874,
  "offset": 0,
  "rows": [
    [
      "Animal Protection Party of Canada/Le Parti pour la Protection des Animaux du Canada",
      "0",
      "0",
      "0",
      "0",
      "873",
      "1187",
      "213",
      "0",
      "0",
      "273",
      "0",
      "0",
      "0"
    ],
    [
      "Bloc Québécois/Bloc Québécois",
      "0",
      "0",
      "0",
      "0",
      "1301615",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0"
    ],
    [
      "Canada's Fourth Front/Quatrième front du Canada",
      "0",
      "0",
      "0",
      "0",
      "52",
      "0",
      "0",
      "0",
      "0",
      "53",
      "0",
      "0",
      "0"
    ],
    [
      "Canadian Nationalist Party/Parti Nationaliste Canadien",
      "0",
      "0",
      "0",
      "0",
      "0",
      "52",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0"
    ],
    [
      "Centrist Party of Canada/Parti Centriste du Canada",
      "0",
      "0",
      "0",
      "0",
      "0",
      "555",
      "0",
      "0",
      "93",
      "0",
      "0",
      "0",
      "0"
    ],
    [
      "Christian Heritage Party of Canada/Parti de l'Héritage Chrétien du Canada",
      "0",
      "145",
      "85",
      "0",
      "192",
      "4154",
      "712",
      "195",
      "2198",
      "1304",
      "0",
      "0",
      "0"
    ],
    [
      "Communist Party of Canada/Parti communiste du Canada",
      "0",
      "0",
      "336",
      "158",
      "399",
      "1487",
      "343",
      "100",
      "497",
      "1380",
      "0",
      "0",
      "0"
    ],
    [
      "Conservative Party of Canada/Parti conservateur du Canada",
      "70783",
      "26673",
      "144315",
      "133678",
      "756412",
      "2251826",
      "224682",
      "304698",
      "1075638",
      "750394",
      "5096",
      "2031",
      "1184"
    ],
    [
      "Free Party Canada/Parti Libre Canada",
      "0",
      "0",
      "0",
      "2217",
      "44214",
      "821",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0"
    ],
    [
      "Green Party of Canada/Le Parti Vert du Canada",
      "0",
      "8048",
      "8902",
      "20162",
      "61488",
      "142678",
      "9435",
      "5699",
      "17483",
      "121919",
      "846",
      "328",
      "0"
    ],
    [
      "Liberal Party of Canada/Parti libéral du Canada",
      "104240",
      "39046",
      "207237",
      "168945",
      "1364485",
      "2535222",
      "160206",
      "54731",
      "299493",
      "608588",
      "6471",
      "5387",
      "2578"
    ],
    [
      "Libertarian Party of Canada/Parti Libertarien du Canada",
      "0",
      "0",
      "0",
      "234",
      "0",
      "2095",
      "373",
      "0",
      "1232",
      "831",
      "0",
      "0",
      "0"
    ],
    [
      "Marijuana Party/Parti Marijuana",
      "0",
      "0",
      "0",
      "0",
      "1901",
      "130",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0"
    ],
    [
      "Marxist-Leninist Party of Canada/Parti Marxiste-Léniniste du Canada",
      "0",
      "0",
      "127",
      "0",
      "1669",
      "1165",
      "0",
      "0",
      "893",
      "678",
      "0",
      "0",
      "0"
    ],
    [
      "Maverick Party/Maverick Party",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0",
      "339",
      "7279",
      "25670",
      "1890",
      "0",
      "0",
      "0"
    ],
    [
      "National Citizens Alliance of Canada/Alliance Nationale des Citoyens du Canada",
      "0",
      "0",
      "0",
      "0",
      "0",
      "358",
      "0",
      "0",
      "118",
      "0",
      "0",
      "0",
      "0"
    ],
    [
      "New Democratic Party/Nouveau Parti démocratique",
      "37743",
      "7802",
      "107832",
      "47353",
      "395401",
      "1153119",
      "131591",
      "108720",
      "370394",
      "664054",
      "4354",
      "4558",
      "3427"
    ],
    [
      "Parti Patriote/Parti Patriote",
      "0",
      "0",
      "0",
      "0",
      "244",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0"
    ],
    [
      "Parti pour l'Indépendance du Québec/Parti pour l'Indépendance du Québec",
      "0",
      "0",
      "0",
      "0",
      "2934",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0",
      "0"
    ],
    [
      "Parti Rhinocéros Party/Parti Rhinocéros Party",
      "0",
      "0",
      "65",
      "0",
      "3926",
      "926",
      "80",
      "0",
      "829",
      "259",
      "0",
      "0",
      "0"
    ],
    [
      "People's Party of Canada/Parti populaire du Canada",
      "5150",
      "2748",
      "19365",
      "24346",
      "108744",
      "350150",
      "43519",
      "33969",
      "142479",
      "110523",
      "0",
      "0",
      "0"
    ],
    [
      "Veterans Coalition Party of Canada/Parti de la coalition des anciens combattants du Canada",
      "0",
      "0",
      "0",
      "0",
      "216",
      "255",
      "17",
      "0",
      "758",
      "0",
      "0",
      "0",
      "0"
    ],
    [
      "Independent/Indépendant(e)",
      "0",
      "0",
      "643",
      "708",
      "4193",
      "8378",
      "1660",
      "433",
      "2721",
      "2439",
      "2639",
      "1791",
      "0"
    ],
    [
      "No Affiliation/Aucune appartenance",
      "0",
      "0",
      "0",
      "0",
      "4283",
      "0",
      "0",
      "0",
      "2593",
      "0",
      "0",
      "0",
      "0"
    ]
  ],
  "source_url": "https://www.elections.ca/res/rep/off/ovr2021app/53/data_donnees/table_tableau08.csv",
  "table": 8,
  "title": "Number of valid votes by political affiliation",
  "total_rows": 24
}
```
