import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

//RapidAPI header  https://rapidapi.com/spamakashrajtech/api/corona-virus-world-and-india-data
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://corona-virus-world-and-india-data.p.rapidapi.com/api"))
    .header("x-rapidapi-key", "dec069b877msh0d9d0827664078cp1a18fajsn2afac35ae063")
    .header("x-rapidapi-host", "corona-virus-world-and-india-data.p.rapidapi.com")
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();

//RapidAPI request and response
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());

//RapidAPI Body
System.out.println(response.body());
{"countries_stat":[{"country_name":"USA","cases":"82,649,779","deaths":"1,018,316","region":"","total_recovered":"80,434,925","new_deaths":"0","new_cases":"0","serious_critical":"1,465","active_cases":"1,196,538","total_cases_per_1m_population":"247,080","deaths_per_1m_population":"3,044","total_tests":"1,000,275,726","tests_per_1m_population":"2,990,303"},{"country_name":"India","cases":"43,057,545","deaths":"522,193","region":"","total_recovered":"42,519,479","new_deaths":"0","new_cases":"0","serious_critical":"698","active_cases":"15,873","total_cases_per_1m_population":"30,657","deaths_per_1m_population":"372","total_tests":"834,717,702","tests_per_1m_population":"594,319"},{"country_name":"Brazil","cases":"30,345,654","deaths":"662,663","region":"","total_recovered":"29,364,400","new_deaths":"0","new_cases":"0","serious_critical":"8,318","active_cases":"318,591","total_cases_per_1m_population":"140,954","deaths_per_1m_population":"3,078","total_tests":"63,776,166","tests_per_1m_population":"296,238"},{"country_name":"France","cases":"28,244,977","deaths":"145,020","region":"","total_recovered":"25,852,832","new_deaths":"0","new_cases":"0","serious_critical":"1,677","active_cases":"2,247,125","total_cases_per_1m_population":"430,996","deaths_per_1m_population":"2,213","total_tests":"266,484,045","tests_per_1m_population":"4,066,333"},{"country_name":"Germany","cases":"24,109,433","deaths":"134,624","region":"","total_recovered":"21,243,000","new_deaths":"0","new_cases":"0","serious_critical":"1,980","active_cases":"2,731,809","total_cases_per_1m_population":"286,106","deaths_per_1m_population":"1,598","total_tests":"122,332,384","tests_per_1m_population":"1,451,714"},{"country_name":"UK","cases":"21,933,206","deaths":"173,352","region":"","total_recovered":"20,782,350","new_deaths":"0","new_cases":"0","serious_critical":"339","active_cases":"977,504","total_cases_per_1m_population":"320,054","deaths_per_1m_population":"2,530","total_tests":"514,985,782","tests_per_1m_population":"7,514,777"},{"country_name":"Russia","cases":"18,137,137","deaths":"374,902","region":"","total_recovered":"17,474,628","new_deaths":"168","new_cases":"8,446","serious_critical":"2,300","active_cases":"287,607","total_cases_per_1m_population":"124,187","deaths_per_1m_population":"2,567","total_tests":"273,400,000","tests_per_1m_population":"1,871,995"},{"country_name":"S. Korea","cases":"16,895,194","deaths":"22,133","region":"","total_recovered":"N\/A","new_deaths":"109","new_cases":"64,725","serious_critical":"726","active_cases":"N\/A","total_cases_per_1m_population":"329,028","deaths_per_1m_population":"431","total_tests":"15,804,065","tests_per_1m_population":"307,778"},{"country_name":"Italy","cases":"16,079,209","deaths":"162,609","region":"","total_recovered":"14,684,371","new_deaths":"0","new_cases":"0","serious_critical":"409","active_cases":"1,232,229","total_cases_per_1m_population":"266,648","deaths_per_1m_population":"2,697","total_tests":"211,365,630","tests_per_1m_population":"3,505,156"},{"country_name":"Turkey","cases":"15,016,270","deaths":"98,676","region":"","total_recovered":"14,854,475","new_deaths":"0","new_cases":"0","serious_critical":"975","active_cases":"63,119","total_cases_per_1m_population":"174,654","deaths_per_1m_population":"1,148","total_tests":"158,110,923","tests_per_1m_population":"1,838,986"},{"country_name":"Spain","cases":"11,786,036","deaths":"103,908","region":"","total_recovered":"11,261,340","new_deaths":"0","new_cases":"0","serious_critical":"339","active_cases":"420,788","total_cases_per_1m_population":"251,906","deaths_per_1m_population":"2,221","total_tests":"471,036,328","tests_per_1m_population":"10,067,575"},{"country_name":"Vietnam","cases":"10,563,502","deaths":"43,013","region":"","total_recovered":"9,086,075","new_deaths":"9","new_cases":"8,813","serious_critical":"612","active_cases":"1,434,414","total_cases_per_1m_population":"106,789","deaths_per_1m_population":"435","total_tests":"85,789,114","tests_per_1m_population":"867,262"},{"country_name":"Argentina","cases":"9,060,923","deaths":"128,344","region":"","total_recovered":"8,895,999","new_deaths":"0","new_cases":"0","serious_critical":"412","active_cases":"36,580","total_cases_per_1m_population":"197,215","deaths_per_1m_population":"2,793","total_tests":"35,716,069","tests_per_1m_population":"777,376"},{"country_name":"Netherlands","cases":"8,035,603","deaths":"22,206","region":"","total_recovered":"7,643,520","new_deaths":"0","new_cases":"0","serious_critical":"94","active_cases":"369,877","total_cases_per_1m_population":"467,096","deaths_per_1m_population":"1,291","total_tests":"21,107,399","tests_per_1m_population":"1,226,938"},{"country_name":"Japan","cases":"7,621,562","deaths":"29,284","region":"","total_recovered":"7,135,403","new_deaths":"27","new_cases":"43,721","serious_critical":"195","active_cases":"456,875","total_cases_per_1m_population":"60,596","deaths_per_1m_population":"233","total_tests":"46,690,473","tests_per_1m_population":"371,215"},{"country_name":"Iran","cases":"7,216,040","deaths":"140,975","region":"","total_recovered":"6,966,954","new_deaths":"13","new_cases":"528","serious_critical":"1,046","active_cases":"108,111","total_cases_per_1m_population":"83,972","deaths_per_1m_population":"1,641","total_tests":"50,811,054","tests_per_1m_population":"591,284"},{"country_name":"Colombia","cases":"6,091,094","deaths":"139,771","region":"","total_recovered":"5,924,433","new_deaths":"0","new_cases":"0","serious_critical":"342","active_cases":"26,890","total_cases_per_1m_population":"117,448","deaths_per_1m_population":"2,695","total_tests":"34,355,022","tests_per_1m_population":"662,433"},{"country_name":"Indonesia","cases":"6,043,768","deaths":"156,067","region":"","total_recovered":"5,868,251","new_deaths":"0","new_cases":"0","serious_critical":"2,771","active_cases":"19,450","total_cases_per_1m_population":"21,682","deaths_per_1m_population":"560","total_tests":"94,877,499","tests_per_1m_population":"340,374"},{"country_name":"Poland","cases":"5,991,197","deaths":"115,948","region":"","total_recovered":"5,334,375","new_deaths":"0","new_cases":"344","serious_critical":"1,588","active_cases":"540,874","total_cases_per_1m_population":"158,616","deaths_per_1m_population":"3,070","total_tests":"36,027,053","tests_per_1m_population":"953,808"},{"country_name":"Mexico","cases":"5,733,514","deaths":"324,117","region":"","total_recovered":"5,033,892","new_deaths":"57","new_cases":"802","serious_critical":"4,798","active_cases":"375,505","total_cases_per_1m_population":"43,641","deaths_per_1m_population":"2,467","total_tests":"15,762,889","tests_per_1m_population":"119,981"},{"country_name":"Australia","cases":"5,689,377","deaths":"6,991","region":"","total_recovered":"5,274,197","new_deaths":"21","new_cases":"34,769","serious_critical":"135","active_cases":"408,189","total_cases_per_1m_population":"218,537","deaths_per_1m_population":"269","total_tests":"68,845,476","tests_per_1m_population":"2,644,452"},{"country_name":"Ukraine","cases":"4,997,224","deaths":"108,306","region":"","total_recovered":"N\/A","new_deaths":"0","new_cases":"0","serious_critical":"177","active_cases":"N\/A","total_cases_per_1m_population":"115,517","deaths_per_1m_population":"2,504","total_tests":"19,521,252","tests_per_1m_population":"451,259"},{"country_name":"Malaysia","cases":"4,427,067","deaths":"35,491","region":"","total_recovered":"4,310,599","new_deaths":"0","new_cases":"0","serious_critical":"89","active_cases":"80,977","total_cases_per_1m_population":"133,690","deaths_per_1m_population":"1,072","total_tests":"58,332,799","tests_per_1m_population":"1,761,549"},{"country_name":"Thailand","cases":"4,165,874","deaths":"27,778","region":"","total_recovered":"3,954,945","new_deaths":"126","new_cases":"17,784","serious_critical":"1,496","active_cases":"183,151","total_cases_per_1m_population":"59,414","deaths_per_1m_population":"396","total_tests":"17,270,775","tests_per_1m_population":"246,317"},{"country_name":"Austria","cases":"4,104,859","deaths":"18,047","region":"","total_recovered":"3,989,860","new_deaths":"12","new_cases":"5,810","serious_critical":"121","active_cases":"96,952","total_cases_per_1m_population":"451,125","deaths_per_1m_population":"1,983","total_tests":"181,825,734","tests_per_1m_population":"19,982,688"},{"country_name":"Israel","cases":"4,054,342","deaths":"10,658","region":"","total_recovered":"4,009,152","new_deaths":"0","new_cases":"0","serious_critical":"220","active_cases":"34,532","total_cases_per_1m_population":"434,735","deaths_per_1m_population":"1,143","total_tests":"41,373,364","tests_per_1m_population":"4,436,346"},{"country_name":"Belgium","cases":"4,015,791","deaths":"31,319","region":"","total_recovered":"3,726,457","new_deaths":"0","new_cases":"0","serious_critical":"169","active_cases":"258,015","total_cases_per_1m_population":"343,798","deaths_per_1m_population":"2,681","total_tests":"33,456,470","tests_per_1m_population":"2,864,259"},{"country_name":"Czechia","cases":"3,895,544","deaths":"40,081","region":"","total_recovered":"3,838,099","new_deaths":"5","new_cases":"911","serious_critical":"43","active_cases":"17,364","total_cases_per_1m_population":"362,550","deaths_per_1m_population":"3,730","total_tests":"55,117,064","tests_per_1m_population":"5,129,629"},{"country_name":"Portugal","cases":"3,791,744","deaths":"22,162","region":"","total_recovered":"N\/A","new_deaths":"0","new_cases":"0","serious_critical":"61","active_cases":"N\/A","total_cases_per_1m_population":"373,827","deaths_per_1m_population":"2,185","total_tests":"40,748,372","tests_per_1m_population":"4,017,371"},{"country_name":"South Africa","cases":"3,759,689","deaths":"100,298","region":"","total_recovered":"3,632,572","new_deaths":"0","new_cases":"0","serious_critical":"175","active_cases":"26,819","total_cases_per_1m_population":"61,981","deaths_per_1m_population":"1,653","total_tests":"24,313,334","tests_per_1m_population":"400,824"},{"country_name":"Canada","cases":"3,695,585","deaths":"38,777","region":"","total_recovered":"3,426,082","new_deaths":"0","new_cases":"0","serious_critical":"426","active_cases":"230,726","total_cases_per_1m_population":"96,391","deaths_per_1m_population":"1,011","total_tests":"60,536,359","tests_per_1m_population":"1,578,955"},{"country_name":"Philippines","cases":"3,684,500","deaths":"60,182","region":"","total_recovered":"3,610,658","new_deaths":"3","new_cases":"205","serious_critical":"289","active_cases":"13,660","total_cases_per_1m_population":"32,835","deaths_per_1m_population":"536","total_tests":"29,427,586","tests_per_1m_population":"262,246"},{"country_name":"Switzerland","cases":"3,579,867","deaths":"13,816","region":"","total_recovered":"3,378,507","new_deaths":"0","new_cases":"0","serious_critical":"90","active_cases":"187,544","total_cases_per_1m_population":"408,247","deaths_per_1m_population":"1,576","total_tests":"20,666,182","tests_per_1m_population":"2,356,766"},{"country_name":"Peru","cases":"3,559,343","deaths":"212,724","region":"","total_recovered":"N\/A","new_deaths":"0","new_cases":"0","serious_critical":"356","active_cases":"N\/A","total_cases_per_1m_population":"105,303","deaths_per_1m_population":"6,293","total_tests":"29,592,270","tests_per_1m_population":"875,489"},{"country_name":"Chile","cases":"3,544,463","deaths":"57,375","region":"","total_recovered":"3,368,772","new_deaths":"0","new_cases":"0","serious_critical":"286","active_cases":"118,316","total_cases_per_1m_population":"182,588","deaths_per_1m_population":"2,956","total_tests":"36,711,724","tests_per_1m_population":"1,891,147"},{"country_name":"Greece","cases":"3,277,557","deaths":"28,867","region":"","total_recovered":"3,151,717","new_deaths":"0","new_cases":"0","serious_critical":"277","active_cases":"96,973","total_cases_per_1m_population":"317,250","deaths_per_1m_population":"2,794","total_tests":"78,872,546","tests_per_1m_population":"7,634,431"},{"country_name":"Denmark","cases":"2,959,040","deaths":"6,072","region":"","total_recovered":"2,929,091","new_deaths":"0","new_cases":"0","serious_critical":"15","active_cases":"23,877","total_cases_per_1m_population":"507,639","deaths_per_1m_population":"1,042","total_tests":"127,141,200","tests_per_1m_population":"21,811,751"},{"country_name":"Romania","cases":"2,888,318","deaths":"65,427","region":"","total_recovered":"2,606,660","new_deaths":"6","new_cases":"494","serious_critical":"216","active_cases":"216,231","total_cases_per_1m_population":"151,968","deaths_per_1m_population":"3,442","total_tests":"22,594,702","tests_per_1m_population":"1,188,815"},{"country_name":"Sweden","cases":"2,498,388","deaths":"18,656","region":"","total_recovered":"2,464,421","new_deaths":"0","new_cases":"0","serious_critical":"19","active_cases":"15,311","total_cases_per_1m_population":"244,630","deaths_per_1m_population":"1,827","total_tests":"18,493,218","tests_per_1m_population":"1,810,763"},{"country_name":"Iraq","cases":"2,324,141","deaths":"25,204","region":"","total_recovered":"2,295,947","new_deaths":"0","new_cases":"0","serious_critical":"20","active_cases":"2,990","total_cases_per_1m_population":"55,534","deaths_per_1m_population":"602","total_tests":"18,450,939","tests_per_1m_population":"440,871"},{"country_name":"Serbia","cases":"2,001,144","deaths":"15,953","region":"","total_recovered":"1,967,786","new_deaths":"0","new_cases":"0","serious_critical":"25","active_cases":"17,405","total_cases_per_1m_population":"230,710","deaths_per_1m_population":"1,839","total_tests":"9,427,662","tests_per_1m_population":"1,086,907"},{"country_name":"Bangladesh","cases":"1,952,532","deaths":"29,127","region":"","total_recovered":"1,893,131","new_deaths":"0","new_cases":"0","serious_critical":"1,297","active_cases":"30,274","total_cases_per_1m_population":"11,646","deaths_per_1m_population":"174","total_tests":"13,956,056","tests_per_1m_population":"83,245"},{"country_name":"Hungary","cases":"1,890,953","deaths":"46,048","region":"","total_recovered":"1,776,617","new_deaths":"0","new_cases":"0","serious_critical":"45","active_cases":"68,288","total_cases_per_1m_population":"196,645","deaths_per_1m_population":"4,789","total_tests":"11,295,119","tests_per_1m_population":"1,174,608"},{"country_name":"Slovakia","cases":"1,774,808","deaths":"19,839","region":"","total_recovered":"1,730,712","new_deaths":"10","new_cases":"1,155","serious_critical":"88","active_cases":"24,257","total_cases_per_1m_population":"324,794","deaths_per_1m_population":"3,631","total_tests":"7,057,901","tests_per_1m_population":"1,291,611"},{"country_name":"Jordan","cases":"1,694,216","deaths":"14,048","region":"","total_recovered":"1,678,941","new_deaths":"0","new_cases":"0","serious_critical":"124","active_cases":"1,227","total_cases_per_1m_population":"163,125","deaths_per_1m_population":"1,353","total_tests":"16,670,254","tests_per_1m_population":"1,605,074"},{"country_name":"Georgia","cases":"1,654,255","deaths":"16,800","region":"","total_recovered":"1,635,791","new_deaths":"3","new_cases":"92","serious_critical":"0","active_cases":"1,664","total_cases_per_1m_population":"416,129","deaths_per_1m_population":"4,226","total_tests":"16,807,205","tests_per_1m_population":"4,227,861"},{"country_name":"Pakistan","cases":"1,527,856","deaths":"30,369","region":"","total_recovered":"1,493,998","new_deaths":"0","new_cases":"105","serious_critical":"186","active_cases":"3,489","total_cases_per_1m_population":"6,683","deaths_per_1m_population":"133","total_tests":"28,048,307","tests_per_1m_population":"122,679"},{"country_name":"Ireland","cases":"1,509,536","deaths":"6,996","region":"","total_recovered":"1,415,949","new_deaths":"0","new_cases":"0","serious_critical":"41","active_cases":"86,591","total_cases_per_1m_population":"299,669","deaths_per_1m_population":"1,389","total_tests":"12,016,948","tests_per_1m_population":"2,385,571"},{"country_name":"Norway","cases":"1,423,509","deaths":"2,871","region":"","total_recovered":"N\/A","new_deaths":"0","new_cases":"0","serious_critical":"20","active_cases":"N\/A","total_cases_per_1m_population":"258,925","deaths_per_1m_population":"522","total_tests":"11,002,430","tests_per_1m_population":"2,001,256"},{"country_name":"Kazakhstan","cases":"1,305,457","deaths":"13,660","region":"","total_recovered":"1,290,988","new_deaths":"0","new_cases":"10","serious_critical":"24","active_cases":"809","total_cases_per_1m_population":"68,056","deaths_per_1m_population":"712","total_tests":"11,575,012","tests_per_1m_population":"603,428"},{"country_name":"Hong Kong","cases":"1,201,431","deaths":"9,236","region":"","total_recovered":"N\/A","new_deaths":"0","new_cases":"0","serious_critical":"115","active_cases":"N\/A","total_cases_per_1m_population":"157,942","deaths_per_1m_population":"1,214","total_tests":"44,972,952","tests_per_1m_population":"5,912,223"},{"country_name":"Singapore","cases":"1,180,124","deaths":"1,325","region":"","total_recovered":"1,109,387","new_deaths":"0","new_cases":"0","serious_critical":"9","active_cases":"69,412","total_cases_per_1m_population":"198,895","deaths_per_1m_population":"223","total_tests":"23,712,995","tests_per_1m_population":"3,996,529"},{"country_name":"Morocco","cases":"1,164,670","deaths":"16,065","region":"","total_recovered":"1,148,154","new_deaths":"0","new_cases":"0","serious_critical":"293","active_cases":"451","total_cases_per_1m_population":"30,893","deaths_per_1m_population":"426","total_tests":"11,237,010","tests_per_1m_population":"298,062"},{"country_name":"Bulgaria","cases":"1,152,892","deaths":"36,849","region":"","total_recovered":"959,542","new_deaths":"0","new_cases":"0","serious_critical":"105","active_cases":"156,501","total_cases_per_1m_population":"168,206","deaths_per_1m_population":"5,376","total_tests":"9,797,011","tests_per_1m_population":"1,429,377"},{"country_name":"Croatia","cases":"1,117,175","deaths":"15,778","region":"","total_recovered":"1,096,829","new_deaths":"0","new_cases":"0","serious_critical":"22","active_cases":"4,568","total_cases_per_1m_population":"275,195","deaths_per_1m_population":"3,887","total_tests":"4,762,146","tests_per_1m_population":"1,173,065"},{"country_name":"Cuba","cases":"1,101,486","deaths":"8,523","region":"","total_recovered":"1,091,603","new_deaths":"0","new_cases":"0","serious_critical":"23","active_cases":"1,360","total_cases_per_1m_population":"97,355","deaths_per_1m_population":"753","total_tests":"12,920,253","tests_per_1m_population":"1,141,957"},{"country_name":"Lebanon","cases":"1,096,320","deaths":"10,374","region":"","total_recovered":"1,079,455","new_deaths":"0","new_cases":"0","serious_critical":"186","active_cases":"6,491","total_cases_per_1m_population":"161,931","deaths_per_1m_population":"1,532","total_tests":"4,795,578","tests_per_1m_population":"708,328"},{"country_name":"Lithuania","cases":"1,054,618","deaths":"9,063","region":"","total_recovered":"1,016,510","new_deaths":"9","new_cases":"427","serious_critical":"31","active_cases":"29,045","total_cases_per_1m_population":"397,407","deaths_per_1m_population":"3,415","total_tests":"8,217,113","tests_per_1m_population":"3,096,414"},{"country_name":"Tunisia","cases":"1,039,532","deaths":"28,533","region":"","total_recovered":"N\/A","new_deaths":"0","new_cases":"0","serious_critical":"29","active_cases":"N\/A","total_cases_per_1m_population":"86,327","deaths_per_1m_population":"2,369","total_tests":"4,563,397","tests_per_1m_population":"378,962"},{"country_name":"Slovenia","cases":"1,003,970","deaths":"6,576","region":"","total_recovered":"980,501","new_deaths":"0","new_cases":"0","serious_critical":"30","active_cases":"16,893","total_cases_per_1m_population":"482,805","deaths_per_1m_population":"3,162","total_tests":"2,640,107","tests_per_1m_population":"1,269,615"},{"country_name":"Finland","cases":"1,000,472","deaths":"3,638","region":"","total_recovered":"46,000","new_deaths":"0","new_cases":"0","serious_critical":"31","active_cases":"950,834","total_cases_per_1m_population":"180,062","deaths_per_1m_population":"655","total_tests":"10,644,579","tests_per_1m_population":"1,915,782"},{"country_name":"Nepal","cases":"978,743","deaths":"11,951","region":"","total_recovered":"966,523","new_deaths":"0","new_cases":"11","serious_critical":"0","active_cases":"269","total_cases_per_1m_population":"32,535","deaths_per_1m_population":"397","total_tests":"5,616,752","tests_per_1m_population":"186,711"},{"country_name":"Belarus","cases":"977,434","deaths":"6,922","region":"","total_recovered":"928,536","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"41,976","total_cases_per_1m_population":"103,501","deaths_per_1m_population":"733","total_tests":"13,092,771","tests_per_1m_population":"1,386,401"},{"country_name":"Bolivia","cases":"904,377","deaths":"21,908","region":"","total_recovered":"855,123","new_deaths":"1","new_cases":"83","serious_critical":"220","active_cases":"27,346","total_cases_per_1m_population":"75,614","deaths_per_1m_population":"1,832","total_tests":"2,693,845","tests_per_1m_population":"225,230"},{"country_name":"UAE","cases":"897,136","deaths":"2,302","region":"","total_recovered":"879,787","new_deaths":"0","new_cases":"244","serious_critical":"0","active_cases":"15,047","total_cases_per_1m_population":"88,772","deaths_per_1m_population":"228","total_tests":"154,420,740","tests_per_1m_population":"15,279,961"},{"country_name":"Uruguay","cases":"895,775","deaths":"7,197","region":"","total_recovered":"886,654","new_deaths":"0","new_cases":"0","serious_critical":"18","active_cases":"1,924","total_cases_per_1m_population":"256,268","deaths_per_1m_population":"2,059","total_tests":"6,091,188","tests_per_1m_population":"1,742,599"},{"country_name":"New Zealand","cases":"884,289","deaths":"636","region":"","total_recovered":"824,272","new_deaths":"9","new_cases":"5,714","serious_critical":"0","active_cases":"59,381","total_cases_per_1m_population":"176,784","deaths_per_1m_population":"127","total_tests":"6,983,031","tests_per_1m_population":"1,396,020"},{"country_name":"Ecuador","cases":"868,053","deaths":"35,581","region":"","total_recovered":"N\/A","new_deaths":"0","new_cases":"0","serious_critical":"759","active_cases":"N\/A","total_cases_per_1m_population":"47,888","deaths_per_1m_population":"1,963","total_tests":"2,470,170","tests_per_1m_population":"136,273"},{"country_name":"Costa Rica","cases":"847,784","deaths":"8,383","region":"","total_recovered":"829,515","new_deaths":"0","new_cases":"0","serious_critical":"43","active_cases":"9,886","total_cases_per_1m_population":"163,725","deaths_per_1m_population":"1,619","total_tests":"4,240,743","tests_per_1m_population":"818,979"},{"country_name":"Guatemala","cases":"841,341","deaths":"17,496","region":"","total_recovered":"821,185","new_deaths":"0","new_cases":"0","serious_critical":"5","active_cases":"2,660","total_cases_per_1m_population":"45,444","deaths_per_1m_population":"945","total_tests":"4,402,305","tests_per_1m_population":"237,787"},{"country_name":"Latvia","cases":"817,316","deaths":"5,743","region":"","total_recovered":"803,135","new_deaths":"0","new_cases":"322","serious_critical":"9","active_cases":"8,438","total_cases_per_1m_population":"442,135","deaths_per_1m_population":"3,107","total_tests":"7,154,016","tests_per_1m_population":"3,870,035"},{"country_name":"Azerbaijan","cases":"792,476","deaths":"9,707","region":"","total_recovered":"782,634","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"135","total_cases_per_1m_population":"76,908","deaths_per_1m_population":"942","total_tests":"6,792,132","tests_per_1m_population":"659,165"},{"country_name":"Panama","cases":"771,486","deaths":"8,182","region":"","total_recovered":"759,832","new_deaths":"0","new_cases":"0","serious_critical":"8","active_cases":"3,472","total_cases_per_1m_population":"173,862","deaths_per_1m_population":"1,844","total_tests":"5,820,472","tests_per_1m_population":"1,311,699"},{"country_name":"Saudi Arabia","cases":"753,332","deaths":"9,076","region":"","total_recovered":"740,467","new_deaths":"0","new_cases":"0","serious_critical":"45","active_cases":"3,789","total_cases_per_1m_population":"21,047","deaths_per_1m_population":"254","total_tests":"41,817,866","tests_per_1m_population":"1,168,345"},{"country_name":"Sri Lanka","cases":"663,131","deaths":"16,502","region":"","total_recovered":"642,574","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"4,055","total_cases_per_1m_population":"30,736","deaths_per_1m_population":"765","total_tests":"6,486,117","tests_per_1m_population":"300,627"},{"country_name":"Paraguay","cases":"649,034","deaths":"18,795","region":"","total_recovered":"624,673","new_deaths":"0","new_cases":"0","serious_critical":"5","active_cases":"5,566","total_cases_per_1m_population":"89,022","deaths_per_1m_population":"2,578","total_tests":"2,623,300","tests_per_1m_population":"359,816"},{"country_name":"Kuwait","cases":"631,294","deaths":"2,555","region":"","total_recovered":"627,899","new_deaths":"0","new_cases":"0","serious_critical":"8","active_cases":"840","total_cases_per_1m_population":"143,981","deaths_per_1m_population":"583","total_tests":"7,999,656","tests_per_1m_population":"1,824,506"},{"country_name":"Myanmar","cases":"612,733","deaths":"19,434","region":"","total_recovered":"591,609","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"1,690","total_cases_per_1m_population":"11,127","deaths_per_1m_population":"353","total_tests":"7,891,077","tests_per_1m_population":"143,296"},{"country_name":"Palestine","cases":"581,816","deaths":"5,353","region":"","total_recovered":"575,899","new_deaths":"0","new_cases":"0","serious_critical":"17","active_cases":"564","total_cases_per_1m_population":"109,459","deaths_per_1m_population":"1,007","total_tests":"3,078,533","tests_per_1m_population":"579,175"},{"country_name":"Dominican Republic","cases":"578,954","deaths":"4,376","region":"","total_recovered":"574,297","new_deaths":"0","new_cases":"0","serious_critical":"16","active_cases":"281","total_cases_per_1m_population":"52,421","deaths_per_1m_population":"396","total_tests":"3,261,060","tests_per_1m_population":"295,272"},{"country_name":"Estonia","cases":"570,257","deaths":"2,531","region":"","total_recovered":"507,474","new_deaths":"0","new_cases":"181","serious_critical":"7","active_cases":"60,252","total_cases_per_1m_population":"429,364","deaths_per_1m_population":"1,906","total_tests":"3,311,935","tests_per_1m_population":"2,493,655"},{"country_name":"Bahrain","cases":"565,830","deaths":"1,475","region":"","total_recovered":"560,795","new_deaths":"0","new_cases":"0","serious_critical":"3","active_cases":"3,560","total_cases_per_1m_population":"312,916","deaths_per_1m_population":"816","total_tests":"9,695,962","tests_per_1m_population":"5,362,081"},{"country_name":"Venezuela","cases":"522,121","deaths":"5,705","region":"","total_recovered":"515,305","new_deaths":"0","new_cases":"0","serious_critical":"230","active_cases":"1,111","total_cases_per_1m_population":"18,456","deaths_per_1m_population":"202","total_tests":"3,359,014","tests_per_1m_population":"118,733"},{"country_name":"Moldova","cases":"516,986","deaths":"11,489","region":"","total_recovered":"504,142","new_deaths":"0","new_cases":"0","serious_critical":"49","active_cases":"1,355","total_cases_per_1m_population":"128,698","deaths_per_1m_population":"2,860","total_tests":"3,216,305","tests_per_1m_population":"800,665"},{"country_name":"Egypt","cases":"515,645","deaths":"24,613","region":"","total_recovered":"442,182","new_deaths":"0","new_cases":"0","serious_critical":"122","active_cases":"48,850","total_cases_per_1m_population":"4,873","deaths_per_1m_population":"233","total_tests":"3,693,367","tests_per_1m_population":"34,903"},{"country_name":"Libya","cases":"501,862","deaths":"6,429","region":"","total_recovered":"490,900","new_deaths":"0","new_cases":"0","serious_critical":"101","active_cases":"4,533","total_cases_per_1m_population":"71,288","deaths_per_1m_population":"913","total_tests":"2,476,960","tests_per_1m_population":"351,844"},{"country_name":"Cyprus","cases":"470,481","deaths":"1,011","region":"","total_recovered":"124,370","new_deaths":"0","new_cases":"0","serious_critical":"60","active_cases":"345,100","total_cases_per_1m_population":"384,623","deaths_per_1m_population":"827","total_tests":"9,477,138","tests_per_1m_population":"7,747,665"},{"country_name":"Ethiopia","cases":"470,417","deaths":"7,510","region":"","total_recovered":"454,967","new_deaths":"0","new_cases":"0","serious_critical":"15","active_cases":"7,940","total_cases_per_1m_population":"3,917","deaths_per_1m_population":"63","total_tests":"4,763,756","tests_per_1m_population":"39,665"},{"country_name":"Mongolia","cases":"469,580","deaths":"2,177","region":"","total_recovered":"313,256","new_deaths":"0","new_cases":"30","serious_critical":"192","active_cases":"154,147","total_cases_per_1m_population":"139,194","deaths_per_1m_population":"645","total_tests":"4,030,048","tests_per_1m_population":"1,194,595"},{"country_name":"Armenia","cases":"422,825","deaths":"8,622","region":"","total_recovered":"410,558","new_deaths":"0","new_cases":"3","serious_critical":"0","active_cases":"3,645","total_cases_per_1m_population":"142,210","deaths_per_1m_population":"2,900","total_tests":"3,035,104","tests_per_1m_population":"1,020,807"},{"country_name":"Honduras","cases":"422,275","deaths":"10,892","region":"","total_recovered":"131,100","new_deaths":"0","new_cases":"0","serious_critical":"105","active_cases":"280,283","total_cases_per_1m_population":"41,445","deaths_per_1m_population":"1,069","total_tests":"1,263,329","tests_per_1m_population":"123,991"},{"country_name":"Oman","cases":"388,995","deaths":"4,257","region":"","total_recovered":"384,055","new_deaths":"0","new_cases":"0","serious_critical":"2","active_cases":"683","total_cases_per_1m_population":"72,833","deaths_per_1m_population":"797","total_tests":"25,000,000","tests_per_1m_population":"4,680,828"},{"country_name":"Bosnia and Herzegovina","cases":"376,699","deaths":"15,756","region":"","total_recovered":"192,218","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"168,725","total_cases_per_1m_population":"116,122","deaths_per_1m_population":"4,857","total_tests":"1,752,716","tests_per_1m_population":"540,297"},{"country_name":"R\u00e9union","cases":"374,295","deaths":"742","region":"","total_recovered":"355,605","new_deaths":"0","new_cases":"0","serious_critical":"10","active_cases":"17,948","total_cases_per_1m_population":"412,744","deaths_per_1m_population":"818","total_tests":"1,603,660","tests_per_1m_population":"1,768,393"},{"country_name":"Qatar","cases":"364,089","deaths":"677","region":"","total_recovered":"362,568","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"844","total_cases_per_1m_population":"129,670","deaths_per_1m_population":"241","total_tests":"3,425,362","tests_per_1m_population":"1,219,943"},{"country_name":"Kenya","cases":"323,696","deaths":"5,649","region":"","total_recovered":"317,909","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"138","total_cases_per_1m_population":"5,790","deaths_per_1m_population":"101","total_tests":"3,581,506","tests_per_1m_population":"64,060"},{"country_name":"Zambia","cases":"318,984","deaths":"3,974","region":"","total_recovered":"314,075","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"935","total_cases_per_1m_population":"16,517","deaths_per_1m_population":"206","total_tests":"3,408,441","tests_per_1m_population":"176,487"},{"country_name":"North Macedonia","cases":"309,062","deaths":"9,271","region":"","total_recovered":"299,064","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"727","total_cases_per_1m_population":"148,358","deaths_per_1m_population":"4,450","total_tests":"2,007,553","tests_per_1m_population":"963,678"},{"country_name":"Botswana","cases":"305,859","deaths":"2,688","region":"","total_recovered":"303,026","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"145","total_cases_per_1m_population":"125,491","deaths_per_1m_population":"1,103","total_tests":"2,026,898","tests_per_1m_population":"831,613"},{"country_name":"Albania","cases":"274,791","deaths":"3,496","region":"","total_recovered":"270,869","new_deaths":"0","new_cases":"0","serious_critical":"2","active_cases":"426","total_cases_per_1m_population":"95,675","deaths_per_1m_population":"1,217","total_tests":"1,799,730","tests_per_1m_population":"626,620"},{"country_name":"Algeria","cases":"265,761","deaths":"6,874","region":"","total_recovered":"178,344","new_deaths":"0","new_cases":"0","serious_critical":"6","active_cases":"80,543","total_cases_per_1m_population":"5,869","deaths_per_1m_population":"152","total_tests":"230,861","tests_per_1m_population":"5,099"},{"country_name":"Nigeria","cases":"255,685","deaths":"3,143","region":"","total_recovered":"249,890","new_deaths":"0","new_cases":"0","serious_critical":"11","active_cases":"2,652","total_cases_per_1m_population":"1,187","deaths_per_1m_population":"15","total_tests":"5,036,813","tests_per_1m_population":"23,388"},{"country_name":"Zimbabwe","cases":"247,524","deaths":"5,468","region":"","total_recovered":"241,362","new_deaths":"0","new_cases":"0","serious_critical":"12","active_cases":"694","total_cases_per_1m_population":"16,227","deaths_per_1m_population":"358","total_tests":"2,240,305","tests_per_1m_population":"146,872"},{"country_name":"Uzbekistan","cases":"238,469","deaths":"1,637","region":"","total_recovered":"236,483","new_deaths":"0","new_cases":"27","serious_critical":"23","active_cases":"349","total_cases_per_1m_population":"6,943","deaths_per_1m_population":"48","total_tests":"1,377,915","tests_per_1m_population":"40,120"},{"country_name":"Montenegro","cases":"234,619","deaths":"2,713","region":"","total_recovered":"231,297","new_deaths":"0","new_cases":"0","serious_critical":"6","active_cases":"609","total_cases_per_1m_population":"373,473","deaths_per_1m_population":"4,319","total_tests":"2,444,820","tests_per_1m_population":"3,891,730"},{"country_name":"Luxembourg","cases":"233,966","deaths":"1,058","region":"","total_recovered":"221,501","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"11,407","total_cases_per_1m_population":"363,099","deaths_per_1m_population":"1,642","total_tests":"4,213,886","tests_per_1m_population":"6,539,666"},{"country_name":"Mozambique","cases":"225,358","deaths":"2,201","region":"","total_recovered":"223,104","new_deaths":"0","new_cases":"0","serious_critical":"13","active_cases":"53","total_cases_per_1m_population":"6,863","deaths_per_1m_population":"67","total_tests":"1,308,458","tests_per_1m_population":"39,849"},{"country_name":"Laos","cases":"205,975","deaths":"732","region":"","total_recovered":"7,660","new_deaths":"0","new_cases":"1,082","serious_critical":"0","active_cases":"197,583","total_cases_per_1m_population":"27,588","deaths_per_1m_population":"98","total_tests":"1,232,128","tests_per_1m_population":"165,029"},{"country_name":"Kyrgyzstan","cases":"200,983","deaths":"2,991","region":"","total_recovered":"196,386","new_deaths":"0","new_cases":"0","serious_critical":"131","active_cases":"1,606","total_cases_per_1m_population":"29,915","deaths_per_1m_population":"445","total_tests":"1,907,195","tests_per_1m_population":"283,874"},{"country_name":"China","cases":"200,654","deaths":"4,725","region":"","total_recovered":"166,398","new_deaths":"39","new_cases":"1,580","serious_critical":"236","active_cases":"29,531","total_cases_per_1m_population":"139","deaths_per_1m_population":"3","total_tests":"160,000,000","tests_per_1m_population":"111,163"},{"country_name":"Iceland","cases":"183,974","deaths":"112","region":"","total_recovered":"75,685","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"108,177","total_cases_per_1m_population":"532,886","deaths_per_1m_population":"324","total_tests":"1,953,616","tests_per_1m_population":"5,658,702"},{"country_name":"Maldives","cases":"178,883","deaths":"298","region":"","total_recovered":"163,687","new_deaths":"0","new_cases":"0","serious_critical":"25","active_cases":"14,898","total_cases_per_1m_population":"320,737","deaths_per_1m_population":"534","total_tests":"2,213,831","tests_per_1m_population":"3,969,395"},{"country_name":"Afghanistan","cases":"178,689","deaths":"7,682","region":"","total_recovered":"161,748","new_deaths":"1","new_cases":"39","serious_critical":"1,124","active_cases":"9,259","total_cases_per_1m_population":"4,411","deaths_per_1m_population":"190","total_tests":"940,341","tests_per_1m_population":"23,212"},{"country_name":"Uganda","cases":"164,069","deaths":"3,596","region":"","total_recovered":"100,205","new_deaths":"0","new_cases":"0","serious_critical":"2","active_cases":"60,268","total_cases_per_1m_population":"3,394","deaths_per_1m_population":"74","total_tests":"2,612,795","tests_per_1m_population":"54,043"},{"country_name":"El Salvador","cases":"162,089","deaths":"4,127","region":"","total_recovered":"150,662","new_deaths":"0","new_cases":"0","serious_critical":"8","active_cases":"7,300","total_cases_per_1m_population":"24,764","deaths_per_1m_population":"631","total_tests":"1,950,448","tests_per_1m_population":"297,993"},{"country_name":"Ghana","cases":"161,124","deaths":"1,445","region":"","total_recovered":"159,655","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"24","total_cases_per_1m_population":"4,997","deaths_per_1m_population":"45","total_tests":"2,433,244","tests_per_1m_population":"75,465"},{"country_name":"Namibia","cases":"158,332","deaths":"4,023","region":"","total_recovered":"153,662","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"647","total_cases_per_1m_population":"60,341","deaths_per_1m_population":"1,533","total_tests":"1,001,354","tests_per_1m_population":"381,621"},{"country_name":"Martinique","cases":"147,519","deaths":"918","region":"","total_recovered":"104","new_deaths":"0","new_cases":"0","serious_critical":"8","active_cases":"146,497","total_cases_per_1m_population":"393,657","deaths_per_1m_population":"2,450","total_tests":"828,928","tests_per_1m_population":"2,212,008"},{"country_name":"Trinidad and Tobago","cases":"144,359","deaths":"3,812","region":"","total_recovered":"133,604","new_deaths":"0","new_cases":"0","serious_critical":"18","active_cases":"6,943","total_cases_per_1m_population":"102,552","deaths_per_1m_population":"2,708","total_tests":"696,148","tests_per_1m_population":"494,540"},{"country_name":"Brunei","cases":"141,014","deaths":"218","region":"","total_recovered":"139,724","new_deaths":"0","new_cases":"0","serious_critical":"2","active_cases":"1,072","total_cases_per_1m_population":"316,857","deaths_per_1m_population":"490","total_tests":"717,784","tests_per_1m_population":"1,612,853"},{"country_name":"Guadeloupe","cases":"140,130","deaths":"854","region":"","total_recovered":"2,250","new_deaths":"0","new_cases":"0","serious_critical":"19","active_cases":"137,026","total_cases_per_1m_population":"350,108","deaths_per_1m_population":"2,134","total_tests":"938,039","tests_per_1m_population":"2,343,644"},{"country_name":"Cambodia","cases":"136,200","deaths":"3,056","region":"","total_recovered":"132,896","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"248","total_cases_per_1m_population":"7,948","deaths_per_1m_population":"178","total_tests":"2,946,965","tests_per_1m_population":"171,969"},{"country_name":"Rwanda","cases":"129,764","deaths":"1,458","region":"","total_recovered":"45,522","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"82,784","total_cases_per_1m_population":"9,590","deaths_per_1m_population":"108","total_tests":"5,225,494","tests_per_1m_population":"386,173"},{"country_name":"Jamaica","cases":"129,489","deaths":"2,943","region":"","total_recovered":"82,965","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"43,581","total_cases_per_1m_population":"43,387","deaths_per_1m_population":"986","total_tests":"981,688","tests_per_1m_population":"328,929"},{"country_name":"Cameroon","cases":"119,780","deaths":"1,927","region":"","total_recovered":"117,791","new_deaths":"0","new_cases":"0","serious_critical":"13","active_cases":"62","total_cases_per_1m_population":"4,318","deaths_per_1m_population":"69","total_tests":"1,751,774","tests_per_1m_population":"63,154"},{"country_name":"Angola","cases":"99,194","deaths":"1,900","region":"","total_recovered":"97,149","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"145","total_cases_per_1m_population":"2,858","deaths_per_1m_population":"55","total_tests":"1,499,795","tests_per_1m_population":"43,209"},{"country_name":"Malta","cases":"90,595","deaths":"688","region":"","total_recovered":"84,646","new_deaths":"1","new_cases":"196","serious_critical":"4","active_cases":"5,261","total_cases_per_1m_population":"204,196","deaths_per_1m_population":"1,551","total_tests":"1,872,465","tests_per_1m_population":"4,220,438"},{"country_name":"DRC","cases":"87,023","deaths":"1,337","region":"","total_recovered":"50,930","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"34,756","total_cases_per_1m_population":"921","deaths_per_1m_population":"14","total_tests":"846,704","tests_per_1m_population":"8,962"},{"country_name":"Senegal","cases":"85,984","deaths":"1,966","region":"","total_recovered":"84,001","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"17","total_cases_per_1m_population":"4,902","deaths_per_1m_population":"112","total_tests":"1,063,849","tests_per_1m_population":"60,653"},{"country_name":"Malawi","cases":"85,747","deaths":"2,633","region":"","total_recovered":"81,938","new_deaths":"0","new_cases":"0","serious_critical":"67","active_cases":"1,176","total_cases_per_1m_population":"4,283","deaths_per_1m_population":"132","total_tests":"571,585","tests_per_1m_population":"28,548"},{"country_name":"Ivory Coast","cases":"81,887","deaths":"799","region":"","total_recovered":"81,061","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"27","total_cases_per_1m_population":"2,972","deaths_per_1m_population":"29","total_tests":"1,494,624","tests_per_1m_population":"54,238"},{"country_name":"French Guiana","cases":"80,422","deaths":"394","region":"","total_recovered":"11,254","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"68,774","total_cases_per_1m_population":"257,228","deaths_per_1m_population":"1,260","total_tests":"622,646","tests_per_1m_population":"1,991,518"},{"country_name":"Suriname","cases":"79,302","deaths":"1,327","region":"","total_recovered":"49,396","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"28,579","total_cases_per_1m_population":"133,030","deaths_per_1m_population":"2,226","total_tests":"235,824","tests_per_1m_population":"395,598"},{"country_name":"Channel Islands","cases":"73,609","deaths":"166","region":"","total_recovered":"72,059","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"1,384","total_cases_per_1m_population":"416,444","deaths_per_1m_population":"939","total_tests":"1,252,808","tests_per_1m_population":"7,087,782"},{"country_name":"French Polynesia","cases":"72,648","deaths":"648","region":"","total_recovered":"N\/A","new_deaths":"0","new_cases":"0","serious_critical":"7","active_cases":"N\/A","total_cases_per_1m_population":"255,948","deaths_per_1m_population":"2,283","total_tests":"0","tests_per_1m_population":"0"},{"country_name":"Eswatini","cases":"70,284","deaths":"1,397","region":"","total_recovered":"68,764","new_deaths":"0","new_cases":"0","serious_critical":"11","active_cases":"123","total_cases_per_1m_population":"59,470","deaths_per_1m_population":"1,182","total_tests":"1,012,397","tests_per_1m_population":"856,623"},{"country_name":"Barbados","cases":"67,256","deaths":"389","region":"","total_recovered":"63,424","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"3,443","total_cases_per_1m_population":"233,520","deaths_per_1m_population":"1,351","total_tests":"640,085","tests_per_1m_population":"2,222,440"},{"country_name":"Fiji","cases":"64,524","deaths":"862","region":"","total_recovered":"62,677","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"985","total_cases_per_1m_population":"71,048","deaths_per_1m_population":"949","total_tests":"506,642","tests_per_1m_population":"557,871"},{"country_name":"Madagascar","cases":"64,121","deaths":"1,391","region":"","total_recovered":"59,370","new_deaths":"0","new_cases":"0","serious_critical":"14","active_cases":"3,360","total_cases_per_1m_population":"2,213","deaths_per_1m_population":"48","total_tests":"418,849","tests_per_1m_population":"14,455"},{"country_name":"Guyana","cases":"63,413","deaths":"1,228","region":"","total_recovered":"62,092","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"93","total_cases_per_1m_population":"79,925","deaths_per_1m_population":"1,548","total_tests":"590,638","tests_per_1m_population":"744,436"},{"country_name":"Sudan","cases":"62,093","deaths":"4,930","region":"","total_recovered":"N\/A","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"N\/A","total_cases_per_1m_population":"1,359","deaths_per_1m_population":"108","total_tests":"562,941","tests_per_1m_population":"12,319"},{"country_name":"New Caledonia","cases":"60,457","deaths":"312","region":"","total_recovered":"60,064","new_deaths":"0","new_cases":"0","serious_critical":"9","active_cases":"81","total_cases_per_1m_population":"208,148","deaths_per_1m_population":"1,074","total_tests":"98,964","tests_per_1m_population":"340,724"},{"country_name":"Mauritania","cases":"58,683","deaths":"982","region":"","total_recovered":"57,693","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"8","total_cases_per_1m_population":"12,050","deaths_per_1m_population":"202","total_tests":"799,187","tests_per_1m_population":"164,099"},{"country_name":"Bhutan","cases":"57,771","deaths":"20","region":"","total_recovered":"53,080","new_deaths":"0","new_cases":"431","serious_critical":"3","active_cases":"4,671","total_cases_per_1m_population":"73,412","deaths_per_1m_population":"25","total_tests":"2,284,301","tests_per_1m_population":"2,902,749"},{"country_name":"Belize","cases":"57,419","deaths":"676","region":"","total_recovered":"56,534","new_deaths":"0","new_cases":"0","serious_critical":"6","active_cases":"209","total_cases_per_1m_population":"139,823","deaths_per_1m_population":"1,646","total_tests":"534,770","tests_per_1m_population":"1,302,237"},{"country_name":"Taiwan","cases":"56,468","deaths":"856","region":"","total_recovered":"23,729","new_deaths":"0","new_cases":"5,172","serious_critical":"0","active_cases":"31,883","total_cases_per_1m_population":"2,363","deaths_per_1m_population":"36","total_tests":"14,289,370","tests_per_1m_population":"598,017"},{"country_name":"Cabo Verde","cases":"56,004","deaths":"401","region":"","total_recovered":"55,538","new_deaths":"0","new_cases":"0","serious_critical":"23","active_cases":"65","total_cases_per_1m_population":"98,792","deaths_per_1m_population":"707","total_tests":"400,982","tests_per_1m_population":"707,340"},{"country_name":"Syria","cases":"55,795","deaths":"3,150","region":"","total_recovered":"52,090","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"555","total_cases_per_1m_population":"3,054","deaths_per_1m_population":"172","total_tests":"146,269","tests_per_1m_population":"8,007"},{"country_name":"Gabon","cases":"47,597","deaths":"303","region":"","total_recovered":"47,282","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"12","total_cases_per_1m_population":"20,512","deaths_per_1m_population":"131","total_tests":"1,592,483","tests_per_1m_population":"686,270"},{"country_name":"Papua New Guinea","cases":"43,732","deaths":"649","region":"","total_recovered":"43,025","new_deaths":"0","new_cases":"0","serious_critical":"7","active_cases":"58","total_cases_per_1m_population":"4,726","deaths_per_1m_population":"70","total_tests":"249,149","tests_per_1m_population":"26,927"},{"country_name":"Seychelles","cases":"42,079","deaths":"165","region":"","total_recovered":"41,260","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"654","total_cases_per_1m_population":"423,134","deaths_per_1m_population":"1,659","total_tests":"0","tests_per_1m_population":"0"},{"country_name":"Cura\u00e7ao","cases":"41,966","deaths":"273","region":"","total_recovered":"41,251","new_deaths":"0","new_cases":"0","serious_critical":"3","active_cases":"442","total_cases_per_1m_population":"253,872","deaths_per_1m_population":"1,652","total_tests":"496,693","tests_per_1m_population":"3,004,725"},{"country_name":"Andorra","cases":"41,013","deaths":"153","region":"","total_recovered":"40,343","new_deaths":"0","new_cases":"0","serious_critical":"14","active_cases":"517","total_cases_per_1m_population":"529,282","deaths_per_1m_population":"1,974","total_tests":"249,838","tests_per_1m_population":"3,224,215"},{"country_name":"Burundi","cases":"38,887","deaths":"38","region":"","total_recovered":"773","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"38,076","total_cases_per_1m_population":"3,104","deaths_per_1m_population":"3","total_tests":"345,742","tests_per_1m_population":"27,594"},{"country_name":"Mauritius","cases":"37,656","deaths":"990","region":"","total_recovered":"35,656","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"1,010","total_cases_per_1m_population":"29,521","deaths_per_1m_population":"776","total_tests":"358,675","tests_per_1m_population":"281,186"},{"country_name":"Mayotte","cases":"37,038","deaths":"187","region":"","total_recovered":"2,964","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"33,887","total_cases_per_1m_population":"130,099","deaths_per_1m_population":"657","total_tests":"176,919","tests_per_1m_population":"621,442"},{"country_name":"Togo","cases":"36,977","deaths":"273","region":"","total_recovered":"36,679","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"25","total_cases_per_1m_population":"4,285","deaths_per_1m_population":"32","total_tests":"727,740","tests_per_1m_population":"84,338"},{"country_name":"Guinea","cases":"36,459","deaths":"440","region":"","total_recovered":"35,976","new_deaths":"0","new_cases":"0","serious_critical":"8","active_cases":"43","total_cases_per_1m_population":"2,647","deaths_per_1m_population":"32","total_tests":"660,107","tests_per_1m_population":"47,919"},{"country_name":"Faeroe Islands","cases":"34,658","deaths":"28","region":"","total_recovered":"7,693","new_deaths":"0","new_cases":"0","serious_critical":"5","active_cases":"26,937","total_cases_per_1m_population":"704,460","deaths_per_1m_population":"569","total_tests":"778,000","tests_per_1m_population":"15,813,651"},{"country_name":"Aruba","cases":"34,589","deaths":"212","region":"","total_recovered":"34,251","new_deaths":"0","new_cases":"0","serious_critical":"2","active_cases":"126","total_cases_per_1m_population":"321,507","deaths_per_1m_population":"1,971","total_tests":"177,885","tests_per_1m_population":"1,653,452"},{"country_name":"Tanzania","cases":"33,864","deaths":"803","region":"","total_recovered":"N\/A","new_deaths":"0","new_cases":"0","serious_critical":"7","active_cases":"N\/A","total_cases_per_1m_population":"539","deaths_per_1m_population":"13","total_tests":"0","tests_per_1m_population":"0"},{"country_name":"Bahamas","cases":"33,463","deaths":"789","region":"","total_recovered":"32,310","new_deaths":"0","new_cases":"0","serious_critical":"11","active_cases":"364","total_cases_per_1m_population":"83,652","deaths_per_1m_population":"1,972","total_tests":"229,817","tests_per_1m_population":"574,504"},{"country_name":"Lesotho","cases":"32,910","deaths":"697","region":"","total_recovered":"24,155","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"8,058","total_cases_per_1m_population":"15,146","deaths_per_1m_population":"321","total_tests":"431,221","tests_per_1m_population":"198,454"},{"country_name":"Mali","cases":"30,727","deaths":"731","region":"","total_recovered":"29,795","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"201","total_cases_per_1m_population":"1,442","deaths_per_1m_population":"34","total_tests":"663,805","tests_per_1m_population":"31,160"},{"country_name":"Haiti","cases":"30,640","deaths":"835","region":"","total_recovered":"29,389","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"416","total_cases_per_1m_population":"2,629","deaths_per_1m_population":"72","total_tests":"132,422","tests_per_1m_population":"11,363"},{"country_name":"Isle of Man","cases":"28,416","deaths":"87","region":"","total_recovered":"26,794","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"1,535","total_cases_per_1m_population":"331,015","deaths_per_1m_population":"1,013","total_tests":"150,753","tests_per_1m_population":"1,756,107"},{"country_name":"Benin","cases":"26,952","deaths":"163","region":"","total_recovered":"25,506","new_deaths":"0","new_cases":"0","serious_critical":"5","active_cases":"1,283","total_cases_per_1m_population":"2,123","deaths_per_1m_population":"13","total_tests":"604,310","tests_per_1m_population":"47,598"},{"country_name":"Somalia","cases":"26,485","deaths":"1,350","region":"","total_recovered":"13,182","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"11,953","total_cases_per_1m_population":"1,587","deaths_per_1m_population":"81","total_tests":"400,466","tests_per_1m_population":"23,990"},{"country_name":"Congo","cases":"24,079","deaths":"385","region":"","total_recovered":"20,178","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"3,516","total_cases_per_1m_population":"4,178","deaths_per_1m_population":"67","total_tests":"347,815","tests_per_1m_population":"60,352"},{"country_name":"Saint Lucia","cases":"23,239","deaths":"368","region":"","total_recovered":"22,736","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"135","total_cases_per_1m_population":"125,520","deaths_per_1m_population":"1,988","total_tests":"142,630","tests_per_1m_population":"770,382"},{"country_name":"Timor-Leste","cases":"22,860","deaths":"130","region":"","total_recovered":"22,714","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"16","total_cases_per_1m_population":"16,762","deaths_per_1m_population":"95","total_tests":"261,007","tests_per_1m_population":"191,388"},{"country_name":"Cayman Islands","cases":"21,755","deaths":"26","region":"","total_recovered":"8,553","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"13,176","total_cases_per_1m_population":"324,145","deaths_per_1m_population":"387","total_tests":"222,773","tests_per_1m_population":"3,319,273"},{"country_name":"Burkina Faso","cases":"20,853","deaths":"382","region":"","total_recovered":"20,439","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"32","total_cases_per_1m_population":"951","deaths_per_1m_population":"17","total_tests":"248,995","tests_per_1m_population":"11,350"},{"country_name":"Nicaragua","cases":"18,491","deaths":"225","region":"","total_recovered":"4,225","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"14,041","total_cases_per_1m_population":"2,733","deaths_per_1m_population":"33","total_tests":"0","tests_per_1m_population":"0"},{"country_name":"Gibraltar","cases":"17,706","deaths":"102","region":"","total_recovered":"16,579","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"1,025","total_cases_per_1m_population":"525,822","deaths_per_1m_population":"3,029","total_tests":"534,283","tests_per_1m_population":"15,866,807"},{"country_name":"South Sudan","cases":"17,422","deaths":"138","region":"","total_recovered":"13,514","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"3,770","total_cases_per_1m_population":"1,524","deaths_per_1m_population":"12","total_tests":"376,391","tests_per_1m_population":"32,928"},{"country_name":"Tajikistan","cases":"17,388","deaths":"124","region":"","total_recovered":"17,264","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"0","total_cases_per_1m_population":"1,752","deaths_per_1m_population":"12","total_tests":"0","tests_per_1m_population":"0"},{"country_name":"Liechtenstein","cases":"17,103","deaths":"85","region":"","total_recovered":"16,831","new_deaths":"1","new_cases":"12","serious_critical":"0","active_cases":"187","total_cases_per_1m_population":"446,251","deaths_per_1m_population":"2,218","total_tests":"102,174","tests_per_1m_population":"2,665,919"},{"country_name":"San Marino","cases":"16,140","deaths":"114","region":"","total_recovered":"15,662","new_deaths":"0","new_cases":"0","serious_critical":"4","active_cases":"364","total_cases_per_1m_population":"473,870","deaths_per_1m_population":"3,347","total_tests":"149,271","tests_per_1m_population":"4,382,590"},{"country_name":"Equatorial Guinea","cases":"15,907","deaths":"183","region":"","total_recovered":"15,698","new_deaths":"0","new_cases":"0","serious_critical":"5","active_cases":"26","total_cases_per_1m_population":"10,704","deaths_per_1m_population":"123","total_tests":"310,972","tests_per_1m_population":"209,251"},{"country_name":"Djibouti","cases":"15,611","deaths":"189","region":"","total_recovered":"15,411","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"11","total_cases_per_1m_population":"15,396","deaths_per_1m_population":"186","total_tests":"303,924","tests_per_1m_population":"299,748"},{"country_name":"CAR","cases":"14,649","deaths":"113","region":"","total_recovered":"6,859","new_deaths":"0","new_cases":"0","serious_critical":"2","active_cases":"7,677","total_cases_per_1m_population":"2,941","deaths_per_1m_population":"23","total_tests":"81,294","tests_per_1m_population":"16,320"},{"country_name":"Grenada","cases":"14,428","deaths":"220","region":"","total_recovered":"13,945","new_deaths":"0","new_cases":"0","serious_critical":"4","active_cases":"263","total_cases_per_1m_population":"127,159","deaths_per_1m_population":"1,939","total_tests":"148,567","tests_per_1m_population":"1,309,376"},{"country_name":"Bermuda","cases":"13,143","deaths":"131","region":"","total_recovered":"12,719","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"293","total_cases_per_1m_population":"212,453","deaths_per_1m_population":"2,118","total_tests":"866,313","tests_per_1m_population":"14,003,734"},{"country_name":"Solomon Islands","cases":"12,437","deaths":"139","region":"","total_recovered":"11,194","new_deaths":"0","new_cases":"0","serious_critical":"2","active_cases":"1,104","total_cases_per_1m_population":"17,339","deaths_per_1m_population":"194","total_tests":"5,117","tests_per_1m_population":"7,134"},{"country_name":"Dominica","cases":"12,011","deaths":"63","region":"","total_recovered":"11,926","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"22","total_cases_per_1m_population":"166,107","deaths_per_1m_population":"871","total_tests":"187,690","tests_per_1m_population":"2,595,666"},{"country_name":"Gambia","cases":"11,995","deaths":"365","region":"","total_recovered":"11,591","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"39","total_cases_per_1m_population":"4,724","deaths_per_1m_population":"144","total_tests":"155,686","tests_per_1m_population":"61,314"},{"country_name":"Greenland","cases":"11,971","deaths":"21","region":"","total_recovered":"2,761","new_deaths":"0","new_cases":"0","serious_critical":"4","active_cases":"9,189","total_cases_per_1m_population":"210,209","deaths_per_1m_population":"369","total_tests":"164,926","tests_per_1m_population":"2,896,081"},{"country_name":"Yemen","cases":"11,818","deaths":"2,148","region":"","total_recovered":"9,001","new_deaths":"0","new_cases":"0","serious_critical":"23","active_cases":"669","total_cases_per_1m_population":"381","deaths_per_1m_population":"69","total_tests":"265,253","tests_per_1m_population":"8,553"},{"country_name":"Monaco","cases":"11,604","deaths":"54","region":"","total_recovered":"11,362","new_deaths":"0","new_cases":"0","serious_critical":"4","active_cases":"188","total_cases_per_1m_population":"291,969","deaths_per_1m_population":"1,359","total_tests":"54,960","tests_per_1m_population":"1,382,850"},{"country_name":"Saint Martin","cases":"10,279","deaths":"63","region":"","total_recovered":"1,399","new_deaths":"0","new_cases":"0","serious_critical":"7","active_cases":"8,817","total_cases_per_1m_population":"257,903","deaths_per_1m_population":"1,581","total_tests":"112,382","tests_per_1m_population":"2,819,701"},{"country_name":"Sint Maarten","cases":"9,990","deaths":"86","region":"","total_recovered":"9,841","new_deaths":"0","new_cases":"0","serious_critical":"10","active_cases":"63","total_cases_per_1m_population":"228,317","deaths_per_1m_population":"1,965","total_tests":"62,056","tests_per_1m_population":"1,418,261"},{"country_name":"Eritrea","cases":"9,733","deaths":"103","region":"","total_recovered":"9,629","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"1","total_cases_per_1m_population":"2,678","deaths_per_1m_population":"28","total_tests":"23,693","tests_per_1m_population":"6,518"},{"country_name":"Caribbean Netherlands","cases":"9,592","deaths":"34","region":"","total_recovered":"9,392","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"166","total_cases_per_1m_population":"359,749","deaths_per_1m_population":"1,275","total_tests":"30,126","tests_per_1m_population":"1,129,880"},{"country_name":"Tonga","cases":"9,553","deaths":"11","region":"","total_recovered":"8,306","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"1,236","total_cases_per_1m_population":"88,571","deaths_per_1m_population":"102","total_tests":"408,213","tests_per_1m_population":"3,784,761"},{"country_name":"Niger","cases":"8,914","deaths":"309","region":"","total_recovered":"8,507","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"98","total_cases_per_1m_population":"346","deaths_per_1m_population":"12","total_tests":"249,026","tests_per_1m_population":"9,657"},{"country_name":"Guinea-Bissau","cases":"8,185","deaths":"171","region":"","total_recovered":"7,515","new_deaths":"0","new_cases":"0","serious_critical":"6","active_cases":"499","total_cases_per_1m_population":"3,989","deaths_per_1m_population":"83","total_tests":"132,611","tests_per_1m_population":"64,628"},{"country_name":"Comoros","cases":"8,100","deaths":"160","region":"","total_recovered":"7,933","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"7","total_cases_per_1m_population":"8,970","deaths_per_1m_population":"177","total_tests":"0","tests_per_1m_population":"0"},{"country_name":"Sierra Leone","cases":"7,681","deaths":"125","region":"","total_recovered":"N\/A","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"N\/A","total_cases_per_1m_population":"929","deaths_per_1m_population":"15","total_tests":"259,958","tests_per_1m_population":"31,435"},{"country_name":"Antigua and Barbuda","cases":"7,571","deaths":"135","region":"","total_recovered":"7,402","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"34","total_cases_per_1m_population":"76,172","deaths_per_1m_population":"1,358","total_tests":"18,901","tests_per_1m_population":"190,164"},{"country_name":"Liberia","cases":"7,432","deaths":"294","region":"","total_recovered":"5,747","new_deaths":"0","new_cases":"0","serious_critical":"2","active_cases":"1,391","total_cases_per_1m_population":"1,410","deaths_per_1m_population":"56","total_tests":"139,824","tests_per_1m_population":"26,521"},{"country_name":"Chad","cases":"7,396","deaths":"193","region":"","total_recovered":"4,874","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"2,329","total_cases_per_1m_population":"428","deaths_per_1m_population":"11","total_tests":"191,341","tests_per_1m_population":"11,075"},{"country_name":"Samoa","cases":"7,185","deaths":"13","region":"","total_recovered":"1,605","new_deaths":"0","new_cases":"0","serious_critical":"3","active_cases":"5,567","total_cases_per_1m_population":"35,783","deaths_per_1m_population":"65","total_tests":"53,893","tests_per_1m_population":"268,399"},{"country_name":"Vanuatu","cases":"6,793","deaths":"12","region":"","total_recovered":"5,991","new_deaths":"0","new_cases":"0","serious_critical":"5","active_cases":"790","total_cases_per_1m_population":"21,222","deaths_per_1m_population":"37","total_tests":"24,976","tests_per_1m_population":"78,027"},{"country_name":"St. Vincent Grenadines","cases":"6,779","deaths":"106","region":"","total_recovered":"6,641","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"32","total_cases_per_1m_population":"60,757","deaths_per_1m_population":"950","total_tests":"98,860","tests_per_1m_population":"886,033"},{"country_name":"British Virgin Islands","cases":"6,296","deaths":"62","region":"","total_recovered":"N\/A","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"N\/A","total_cases_per_1m_population":"205,792","deaths_per_1m_population":"2,027","total_tests":"102,862","tests_per_1m_population":"3,362,163"},{"country_name":"Sao Tome and Principe","cases":"5,953","deaths":"73","region":"","total_recovered":"5,875","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"5","total_cases_per_1m_population":"26,282","deaths_per_1m_population":"322","total_tests":"29,036","tests_per_1m_population":"128,193"},{"country_name":"Turks and Caicos","cases":"5,941","deaths":"36","region":"","total_recovered":"5,862","new_deaths":"0","new_cases":"0","serious_critical":"4","active_cases":"43","total_cases_per_1m_population":"149,791","deaths_per_1m_population":"908","total_tests":"478,593","tests_per_1m_population":"12,066,789"},{"country_name":"Saint Kitts and Nevis","cases":"5,561","deaths":"43","region":"","total_recovered":"5,517","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"1","total_cases_per_1m_population":"103,215","deaths_per_1m_population":"798","total_tests":"65,141","tests_per_1m_population":"1,209,046"},{"country_name":"Cook Islands","cases":"4,727","deaths":"0","region":"","total_recovered":"3,990","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"737","total_cases_per_1m_population":"268,686","deaths_per_1m_population":"0","total_tests":"15,740","tests_per_1m_population":"894,674"},{"country_name":"St. Barth","cases":"4,432","deaths":"6","region":"","total_recovered":"N\/A","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"N\/A","total_cases_per_1m_population":"446,279","deaths_per_1m_population":"604","total_tests":"78,646","tests_per_1m_population":"7,919,243"},{"country_name":"Palau","cases":"4,396","deaths":"6","region":"","total_recovered":"3,879","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"511","total_cases_per_1m_population":"240,877","deaths_per_1m_population":"329","total_tests":"45,500","tests_per_1m_population":"2,493,151"},{"country_name":"Kiribati","cases":"3,076","deaths":"13","region":"","total_recovered":"2,597","new_deaths":"0","new_cases":"0","serious_critical":"3","active_cases":"466","total_cases_per_1m_population":"25,058","deaths_per_1m_population":"106","total_tests":"0","tests_per_1m_population":"0"},{"country_name":"Anguilla","cases":"2,731","deaths":"9","region":"","total_recovered":"2,716","new_deaths":"0","new_cases":"0","serious_critical":"4","active_cases":"6","total_cases_per_1m_population":"179,141","deaths_per_1m_population":"590","total_tests":"51,382","tests_per_1m_population":"3,370,417"},{"country_name":"Saint Pierre Miquelon","cases":"2,641","deaths":"1","region":"","total_recovered":"2,449","new_deaths":"0","new_cases":"0","serious_critical":"1","active_cases":"191","total_cases_per_1m_population":"459,864","deaths_per_1m_population":"174","total_tests":"22,941","tests_per_1m_population":"3,994,602"},{"country_name":"Diamond Princess","cases":"712","deaths":"13","region":"","total_recovered":"699","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"0","total_cases_per_1m_population":"0","deaths_per_1m_population":"0","total_tests":"0","tests_per_1m_population":"0"},{"country_name":"Wallis and Futuna","cases":"454","deaths":"7","region":"","total_recovered":"438","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"9","total_cases_per_1m_population":"41,713","deaths_per_1m_population":"643","total_tests":"20,508","tests_per_1m_population":"1,884,234"},{"country_name":"Montserrat","cases":"183","deaths":"2","region":"","total_recovered":"174","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"7","total_cases_per_1m_population":"36,622","deaths_per_1m_population":"400","total_tests":"9,700","tests_per_1m_population":"1,941,165"},{"country_name":"Falkland Islands","cases":"128","deaths":"0","region":"","total_recovered":"N\/A","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"N\/A","total_cases_per_1m_population":"34,944","deaths_per_1m_population":"0","total_tests":"8,632","tests_per_1m_population":"2,356,538"},{"country_name":"Macao","cases":"82","deaths":"0","region":"","total_recovered":"82","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"0","total_cases_per_1m_population":"123","deaths_per_1m_population":"0","total_tests":"5,375","tests_per_1m_population":"8,079"},{"country_name":"Vatican City","cases":"29","deaths":"0","region":"","total_recovered":"29","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"0","total_cases_per_1m_population":"36,025","deaths_per_1m_population":"0","total_tests":"0","tests_per_1m_population":"0"},{"country_name":"Marshall Islands","cases":"15","deaths":"0","region":"","total_recovered":"7","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"8","total_cases_per_1m_population":"250","deaths_per_1m_population":"0","total_tests":"0","tests_per_1m_population":"0"},{"country_name":"Western Sahara","cases":"10","deaths":"1","region":"","total_recovered":"9","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"0","total_cases_per_1m_population":"16","deaths_per_1m_population":"2","total_tests":"0","tests_per_1m_population":"0"},{"country_name":"MS Zaandam","cases":"9","deaths":"2","region":"","total_recovered":"7","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"0","total_cases_per_1m_population":"0","deaths_per_1m_population":"0","total_tests":"0","tests_per_1m_population":"0"},{"country_name":"Niue","cases":"8","deaths":"0","region":"","total_recovered":"7","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"1","total_cases_per_1m_population":"4,860","deaths_per_1m_population":"0","total_tests":"0","tests_per_1m_population":"0"},{"country_name":"Nauru","cases":"3","deaths":"0","region":"","total_recovered":"3","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"0","total_cases_per_1m_population":"274","deaths_per_1m_population":"0","total_tests":"0","tests_per_1m_population":"0"},{"country_name":"Saint Helena","cases":"2","deaths":"0","region":"","total_recovered":"2","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"0","total_cases_per_1m_population":"327","deaths_per_1m_population":"0","total_tests":"0","tests_per_1m_population":"0"},{"country_name":"Micronesia","cases":"1","deaths":"0","region":"","total_recovered":"1","new_deaths":"0","new_cases":"0","serious_critical":"0","active_cases":"0","total_cases_per_1m_population":"9","deaths_per_1m_population":"0","total_tests":"0","tests_per_1m_population":"0"}],"statistic_taken_at":"2022-04-24 11:18:01","world_total":{"total_cases":"509,268,964","new_cases":"204,268","total_deaths":"6,242,509","new_deaths":"630","total_recovered":"461,827,849","active_cases":"41,198,606","serious_critical":"42,510","total_cases_per_1m_population":"65,334","deaths_per_1m_population":"800.9","statistic_taken_at":"2022-04-24 11:18:01"}}
package com.nighthawk.spring_portfolio.mvc.covid;

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Date;
import java.util.HashMap;

import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

@RestController // annotation to create a RESTful web services
@RequestMapping("/api/covid")  //prefix of API
public class CovidApiController {
    private JSONObject body; //last run result
    private HttpStatus status; //last run status
    String last_run = null; //last run day of month

    // GET Covid 19 Stats
    @GetMapping("/daily")   //added to end of prefix as endpoint
    public ResponseEntity<JSONObject> getCovid() {

        //calls API once a day, sets body and status properties
        String today = new Date().toString().substring(0,10); 
        if (last_run == null || !today.equals(last_run))
        {
            try {  //APIs can fail (ie Internet or Service down)

                //RapidAPI header
                HttpRequest request = HttpRequest.newBuilder()
                    .uri(URI.create("https://corona-virus-world-and-india-data.p.rapidapi.com/api"))
                    .header("x-rapidapi-key", "dec069b877msh0d9d0827664078cp1a18fajsn2afac35ae063")
                    .header("x-rapidapi-host", "corona-virus-world-and-india-data.p.rapidapi.com")
                    .method("GET", HttpRequest.BodyPublishers.noBody())
                    .build();

                //RapidAPI request and response
                HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());

                //JSONParser extracts text body and parses to JSONObject
                this.body = (JSONObject) new JSONParser().parse(response.body());
                this.status = HttpStatus.OK;  //200 success
                this.last_run = today;
            }
            catch (Exception e) {  //capture failure info
                HashMap<String, String> status = new HashMap<>();
                status.put("status", "RapidApi failure: " + e);

                //Setup object for error
                this.body = (JSONObject) status;
                this.status = HttpStatus.INTERNAL_SERVER_ERROR; //500 error
                this.last_run = null;
            }
        }

        //return JSONObject in RESTful style
        return new ResponseEntity<>(body, status);
    }
}
|   package com.nighthawk.spring_portfolio.mvc.covid;
illegal start of expression

Hacks

  • Benefit of using an API? : API's allow you to access data that already exists. This is much more convienent than gathering your own data when there is so much more data available online for free use (as demonstrated in the covid19 example). You are free to use the API data however you want.
  • Benefit(s) of backend implementation? : it is something that frotend applications can reference. It's easy to check and fix if there is a error that turns out to be a logic error. All the logic that powers front end features is visible and can be understood. People can collaborate to make a front end feature run.
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

HttpRequest request = HttpRequest.newBuilder()
		.uri(URI.create("https://wft-geo-db.p.rapidapi.com/v1/geo/adminDivisions"))
		.header("X-RapidAPI-Key", "f877084053msh82cfa972b631ab7p1c4893jsn442e2f514bb0")
		.header("X-RapidAPI-Host", "wft-geo-db.p.rapidapi.com")
		.method("GET", HttpRequest.BodyPublishers.noBody())
		.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
{"data":[{"id":3515514,"wikiDataId":"Q4117373","name":"Al Mamzar","country":"United Arab Emirates","countryCode":"AE","region":"Dubai","regionCode":"DU","latitude":25.309469444,"longitude":55.342811111,"population":0},{"id":3386644,"wikiDataId":"Q3694483","name":"Ab Band District","country":"Afghanistan","countryCode":"AF","region":"Ghazni","regionCode":"GHA","latitude":32.983,"longitude":67.967,"population":0},{"id":3339608,"wikiDataId":"Q2572213","name":"Ab Kamari","country":"Afghanistan","countryCode":"AF","region":"Badghis","regionCode":"BDG","latitude":34.925,"longitude":62.901666666,"population":0},{"id":3228129,"wikiDataId":"Q1650529","name":"Achin","country":"Afghanistan","countryCode":"AF","region":"Nangarhar","regionCode":"NAN","latitude":34.0894,"longitude":70.683,"population":0},{"id":3301438,"wikiDataId":"Q2714271","name":"Adraskan District","country":"Afghanistan","countryCode":"AF","region":"Herat","regionCode":"HER","latitude":33.705277777,"longitude":61.995555555,"population":0}],"links":[{"rel":"first","href":"/v1/geo/cities?offset=0&limit=5"},{"rel":"next","href":"/v1/geo/cities?offset=5&limit=5"},{"rel":"last","href":"/v1/geo/cities?offset=71955&limit=5"}],"metadata":{"currentOffset":0,"totalCount":71958}}