opendatatoronto is an R interface to the City of Toronto Open Data Portal. The goal of the package is to help read data directly into R without needing to manually download it via the portal.

In the portal, datasets are called packages. You can see a list of available packages by using list_packages(). This will show metadata about the package, including what topics (i.e. tags) the package covers, a description of it, any civic issues it addresses, how many resources there are (and their formats), how often it is is refreshed and when it was last refreshed.

Or, you can search packages by title using search_packages():

You can also see metadata for one specific package using show_package():

Within a package, there are a number of resources - e.g. CSV, XSLX, JSON, SHP files, and more. Resources are the actual “data”.

For a given package, you can get a list of resources using list_package_resources(), either by using a package found via search_packages() or list_packages():

or by passing the package’s portal URL directly:

Finally (and most usefully!), you can download the resource (i.e., the actual data) directly into R using get_resource():

apartment_building_registration_data <- apartment_building_registration_resources %>%
  get_resource()

apartment_building_registration_data
#> # A tibble: 3,450 x 62
#>    `_id` AIR_CONDITIONIN… AMENITIES_AVAIL… ANNUAL_FIRE_ALA… ANNUAL_FIRE_PUM…
#>    <int> <chr>            <chr>            <chr>            <chr>           
#>  1     1 NONE             Indoor recreati… YES              YES             
#>  2     2 NONE             <NA>             YES              NO              
#>  3     3 NONE             <NA>             YES              YES             
#>  4     4 NONE             Indoor exercise… YES              YES             
#>  5     5 NONE             Outdoor pool , … YES              YES             
#>  6     6 CENTRAL AIR      Outdoor pool     YES              YES             
#>  7     7 NONE             <NA>             YES              YES             
#>  8     8 NONE             Outdoor rec fac… YES              YES             
#>  9     9 NONE             <NA>             YES              YES             
#> 10    10 NONE             Outdoor pool     YES              YES             
#> # … with 3,440 more rows, and 57 more variables:
#> #   APPROVED_FIRE_SAFETY_PLAN <chr>, BALCONIES <chr>,
#> #   BARRIER_FREE_ACCESSIBILTY_ENTR <chr>, BIKE_PARKING <chr>,
#> #   CONFIRMED_STOREYS <int>, CONFIRMED_UNITS <int>,
#> #   DATE_OF_LAST_INSPECTION_BY_TSSA <chr>,
#> #   DESCRIPTION_OF_CHILD_PLAY_AREA <chr>,
#> #   DESCRIPTION_OF_INDOOR_EXERCISE_ROOM <chr>,
#> #   DESCRIPTION_OF_OUTDOOR_REC_FACILITIES <chr>, ELEVATOR_PARTS_REPLACED <chr>,
#> #   ELEVATOR_STATUS <chr>, EMERG_POWER_SUPPLY_TEST_RECORDS <chr>,
#> #   EXTERIOR_FIRE_ESCAPE <chr>, FACILITIES_AVAILABLE <chr>, FIRE_ALARM <chr>,
#> #   GARBAGE_CHUTES <chr>, GREEN_BIN_LOCATION <chr>,
#> #   HEATING_EQUIPMENT_STATUS <chr>, HEATING_EQUIPMENT_YEAR_INSTALLED <chr>,
#> #   HEATING_TYPE <chr>, INDOOR_GARBAGE_STORAGE_AREA <chr>, INTERCOM <chr>,
#> #   IS_THERE_A_COOLING_ROOM <chr>, IS_THERE_EMERGENCY_POWER <chr>,
#> #   LAUNDRY_ROOM <chr>, LAUNDRY_ROOM_HOURS_OF_OPERATION <chr>,
#> #   LAUNDRY_ROOM_LOCATION <chr>, LOCKER_OR_STORAGE_ROOM <chr>,
#> #   NO_BARRIER_FREE_ACCESSBLE_UNITS <chr>,
#> #   NO_OF_ACCESSIBLE_PARKING_SPACES <chr>, NO_OF_ELEVATORS <chr>,
#> #   NO_OF_LAUNDRY_ROOM_MACHINES <chr>, NON_SMOKING_BUILDING <chr>,
#> #   OUTDOOR_GARBAGE_STORAGE_AREA <chr>, PARKING_TYPE <chr>, PCODE <chr>,
#> #   PET_RESTRICTIONS <chr>, PETS_ALLOWED <chr>,
#> #   PROP_MANAGEMENT_COMPANY_NAME <chr>, PROPERTY_TYPE <chr>,
#> #   RECYCLING_BINS_LOCATION <chr>, RSN <int>,
#> #   SEPARATE_GAS_METERS_EACH_UNIT <chr>, SEPARATE_HYDRO_METER_EACH_UNIT <chr>,
#> #   SEPARATE_WATER_METERS_EA_UNIT <chr>, SITE_ADDRESS <chr>,
#> #   SPRINKLER_SYSTEM <chr>, SPRINKLER_SYSTEM_TEST_RECORD <chr>,
#> #   SPRINKLER_SYSTEM_YEAR_INSTALLED <chr>, TSSA_TEST_RECORDS <chr>,
#> #   VISITOR_PARKING <chr>, WARD <chr>, WINDOW_TYPE <chr>, YEAR_BUILT <chr>,
#> #   YEAR_OF_REPLACEMENT <chr>, YEAR_REGISTERED <chr>

The opendatatoronto package can currently handle the download of CSV, XLS/XLSX, XML, JSON, SHP, and GeoJSON resources, as well as ZIP resources that contain multiple files. For more information, see the following vignettes: