{"license": "ODbL 1.0, © OpenStreetMap contributors", "license_url": "https://opendatacommons.org/licenses/odbl/1-0/", "license_file": "https://courtlygo.com/data/LICENSE.txt", "website_source_note": "website_source 'wikidata' means the website address comes from Wikidata (CC0 1.0); 'place_tag' means a tag on the surrounding OpenStreetMap object.", "source": "https://www.openstreetmap.org/copyright", "data_date": "2026-10-16", "city": "Johannesburg", "state": "", "country": "ZA", "venues": [{"id": "way-1226668977", "name": null, "name_source": null, "place": {"rel": "at", "name": "Greyville Park", "kind": "sports_centre"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.331975, "lon": 27.830457, "sports": ["tennis", "padel"], "courts_total": 13, "courts_by_sport": {"tennis": 9, "padel": 4}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "some", "surface": ["tartan"], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1226668977", "way/1367603900", "way/1367603901", "way/1367603902", "way/1367603903", "way/904072871", "way/904072872", "way/904072873", "way/904072874", "way/904072875", "way/904072876", "way/904072877", "way/904072878", "way/904072879"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-1422465106", "name": "Tennis Court", "name_source": "court", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.052071, "lon": 28.080051, "sports": ["tennis", "padel"], "courts_total": 12, "courts_by_sport": {"padel": 6, "tennis": 6}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "some", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1422465106", "way/1422465107", "way/1422465108", "way/1422465109", "way/1422465110", "way/1422465111", "way/1424796611", "way/1424796612", "way/1424796613", "way/1424796614", "way/1424796615", "way/1424796616"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-1100946939", "name": null, "name_source": null, "place": {"rel": "at", "name": "Wanderers Club", "kind": "recreation_ground"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.134257, "lon": 28.05492, "sports": ["tennis"], "courts_total": 12, "courts_by_sport": {"tennis": 12}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1100946939", "way/1100946940", "way/1100946941", "way/1100946942", "way/1100946943", "way/1100946944", "way/1100946945", "way/1100946946", "way/1100946947", "way/1100946948", "way/1100946949", "way/1100946950"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "club", "private": false, "private_basis": "club_name", "private_reason": "Club by name, no public-access tags", "access_note": "Members / guests / customers — paid or restricted access. Confirm with the venue before you go."}, {"id": "way-407957582", "name": null, "name_source": null, "place": {"rel": "at", "name": "Mark's Park", "kind": "sports_centre"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.164211, "lon": 28.003088, "sports": ["tennis"], "courts_total": 10, "courts_by_sport": {"tennis": 10}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/407957582", "way/407957583", "way/407957584", "way/407957585", "way/407957586", "way/407957587", "way/407957588", "way/407957589", "way/407957590", "way/407957591"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-457734505", "name": null, "name_source": null, "place": {"rel": "at", "name": "The Old Edwardian Society", "kind": "fitness_centre"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.156386, "lon": 28.064693, "sports": ["tennis"], "courts_total": 10, "courts_by_sport": {"tennis": 10}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/457734505", "way/457734506", "way/457734507", "way/457734508", "way/457734509", "way/457734510", "way/457734511", "way/457734512", "way/457734513", "way/457734525"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-938137288", "name": null, "name_source": null, "place": {"rel": "at", "name": "St Mary's School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.140833, "lon": 28.07619, "sports": ["tennis"], "courts_total": 9, "courts_by_sport": {"tennis": 9}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/938137288", "way/938137289", "way/938137290", "way/938137291", "way/938137292", "way/938137294", "way/938137297", "way/938137298", "way/938137299"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1100902589", "name": null, "name_source": null, "place": {"rel": "at", "name": "Killarney Country Club", "kind": "golf_course"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.148169, "lon": 28.054267, "sports": ["tennis"], "courts_total": 8, "courts_by_sport": {"tennis": 8}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1100902589", "way/1100902590", "way/1100902591", "way/1100902592", "way/1100902593", "way/1100902594", "way/1100902595", "way/1100902596"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "club", "private": false, "private_basis": "club_name", "private_reason": "Club by name, no public-access tags", "access_note": "Members / guests / customers — paid or restricted access. Confirm with the venue before you go."}, {"id": "way-1197607412", "name": null, "name_source": null, "place": {"rel": "at", "name": "George Lea Park", "kind": "park"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.098965, "lon": 28.036208, "sports": ["tennis"], "courts_total": 8, "courts_by_sport": {"tennis": 8}, "courts_count_exact": false, "multi_use_courts": 2, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": "https://sandtonsportsclub.co.za/", "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1197607412", "way/1197607413", "way/1197607414", "way/1197607415", "way/1197607416", "way/1197607417", "way/1197607418", "way/1197607419"], "from_facility_only": false, "metro": null, "metro_slug": null, "website_source": "place_tag", "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-377916387", "name": null, "name_source": null, "place": {"rel": "at", "name": "Dainfern College", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -25.987771, "lon": 28.008091, "sports": ["tennis"], "courts_total": 8, "courts_by_sport": {"tennis": 8}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": ["asphalt"], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/377916387", "way/377916392", "way/377916427", "way/377916431", "way/400903107", "way/400903108", "way/400903109", "way/400903110"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-760644700", "name": "Discovery Tennis Club", "name_source": "court", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.159873, "lon": 27.892222, "sports": ["tennis"], "courts_total": 7, "courts_by_sport": {"tennis": 7}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/760644700", "way/760644706", "way/762145477", "way/762145478", "way/762145479", "way/762145480", "way/762145481"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "club", "private": false, "private_basis": "club_name", "private_reason": "Club by name, no public-access tags", "access_note": "Members / guests / customers — paid or restricted access. Confirm with the venue before you go."}, {"id": "way-1274781518", "name": null, "name_source": null, "place": {"rel": "at", "name": "University Of Johannesburg Sports Grounds", "kind": "sports_centre"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.177013, "lon": 27.993569, "sports": ["tennis"], "courts_total": 7, "courts_by_sport": {"tennis": 7}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1274781518", "way/1274781519", "way/1274781520", "way/1274781521", "way/1274781522", "way/1274781523", "way/1274781524"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "node-14189466355", "name": "Fairland Tennis Club", "name_source": "facility", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.12523, "lon": 27.950812, "sports": ["tennis"], "courts_total": 6, "courts_by_sport": {"tennis": 6}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["node/14189466355", "way/953044048", "way/953044049", "way/953044050", "way/953044051", "way/953044052", "way/953044053"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "club", "private": false, "private_basis": "club_name", "private_reason": "Club by name, no public-access tags", "access_note": "Members / guests / customers — paid or restricted access. Confirm with the venue before you go."}, {"id": "way-637639315", "name": "Randburg Tennis", "name_source": "area", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.1098, "lon": 28.006092, "sports": ["tennis"], "courts_total": 6, "courts_by_sport": {"tennis": 6}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/637639315", "way/669949806", "way/669949807", "way/669949808", "way/669949809", "way/669949810"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-1002505657", "name": null, "name_source": null, "place": {"rel": "at", "name": "Parktown Girls High School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.155659, "lon": 28.022487, "sports": ["tennis"], "courts_total": 6, "courts_by_sport": {"tennis": 6}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1002505657", "way/1002505658", "way/1002505659", "way/1002505660", "way/1002505661", "way/1002505662"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1067255129", "name": null, "name_source": null, "place": {"rel": "at", "name": "Curro", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.016703, "lon": 28.093157, "sports": ["tennis"], "courts_total": 6, "courts_by_sport": {"tennis": 6}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1067255129", "way/1067255130", "way/1067255131", "way/1067255132", "way/1067255133", "way/1067255134"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1107015468", "name": null, "name_source": null, "place": {"rel": "at", "name": "Greenside High School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.151722, "lon": 28.018712, "sports": ["tennis"], "courts_total": 6, "courts_by_sport": {"tennis": 6}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1107015468", "way/1107015469", "way/1107015470", "way/1107015471", "way/1107015472", "way/1107015473"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1120662408", "name": null, "name_source": null, "place": {"rel": "at", "name": "Curro Aurora Independent School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.080558, "lon": 27.933749, "sports": ["tennis"], "courts_total": 6, "courts_by_sport": {"tennis": 6}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1120662408", "way/1120662409", "way/1120662410", "way/1120662411", "way/1120662412", "way/557917742"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1537202307", "name": null, "name_source": null, "place": {"rel": "at", "name": "Roodepoort Squash Center", "kind": "sports_centre"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.154195, "lon": 27.886767, "sports": ["tennis"], "courts_total": 6, "courts_by_sport": {"tennis": 6}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1537202307", "way/1537202308", "way/1537202309", "way/1537202310", "way/1537202311", "way/1537202312"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-407835388", "name": null, "name_source": null, "place": {"rel": "at", "name": "Zoo Lake", "kind": "park"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.15682, "lon": 28.031874, "sports": ["tennis"], "courts_total": 6, "courts_by_sport": {"tennis": 6}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/407835388", "way/407835389", "way/407835390", "way/407835391", "way/407835392", "way/407835393"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-407944694", "name": null, "name_source": null, "place": {"rel": "at", "name": "Wits Sports West Campus", "kind": "recreation_ground"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.187355, "lon": 28.030713, "sports": ["tennis"], "courts_total": 6, "courts_by_sport": {"tennis": 6}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/407944694", "way/407944695", "way/766335247", "way/766335248", "way/766335249", "way/766335250"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-546404960", "name": null, "name_source": null, "place": {"rel": "at", "name": "Boskruin Park", "kind": "park"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.088385, "lon": 27.945807, "sports": ["tennis"], "courts_total": 6, "courts_by_sport": {"tennis": 6}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/546404960", "way/546404962", "way/546404964", "way/546404966", "way/546404972", "way/546404974"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "node-373467857", "name": "Olivedale Tennis Club", "name_source": "court", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.061461, "lon": 27.970469, "sports": ["tennis"], "courts_total": 5, "courts_by_sport": {"tennis": 5}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["node/373467857", "way/953044156", "way/953044157", "way/953044158", "way/953044159"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "club", "private": false, "private_basis": "club_name", "private_reason": "Club by name, no public-access tags", "access_note": "Members / guests / customers — paid or restricted access. Confirm with the venue before you go."}, {"id": "node-294746813", "name": "Parkview Lawn Tennis Club", "name_source": "facility", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.160932, "lon": 28.02594, "sports": ["tennis"], "courts_total": 5, "courts_by_sport": {"tennis": 5}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["node/294746813", "way/1285249897", "way/1285249898", "way/1285249899", "way/1285249900", "way/1285249901"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "club", "private": false, "private_basis": "club_name", "private_reason": "Club by name, no public-access tags", "access_note": "Members / guests / customers — paid or restricted access. Confirm with the venue before you go."}, {"id": "way-302910898", "name": "Tennis court", "name_source": "court", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.091738, "lon": 27.861128, "sports": ["tennis"], "courts_total": 4, "courts_by_sport": {"tennis": 4}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": ["paved"], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/302910898", "way/302910899", "way/659802626", "way/659802630"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-1100647093", "name": null, "name_source": null, "place": {"rel": "at", "name": "Pridwin Preparatory School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.140209, "lon": 28.04543, "sports": ["tennis"], "courts_total": 4, "courts_by_sport": {"tennis": 4}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1100647093", "way/1100647094", "way/1100647095", "way/1100647096"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1107016214", "name": null, "name_source": null, "place": {"rel": "at", "name": "University of the Witwatersrand", "kind": "university"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.192688, "lon": 28.02204, "sports": ["tennis"], "courts_total": 4, "courts_by_sport": {"tennis": 4}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1107016214", "way/1107016215", "way/1107016216", "way/1107016217"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "Campus grounds — often closed to the public; confirm access.", "school": true}, {"id": "way-1278124015", "name": null, "name_source": null, "place": {"rel": "at", "name": "St John's College", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.17647, "lon": 28.0554, "sports": ["tennis"], "courts_total": 4, "courts_by_sport": {"tennis": 4}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": ["asphalt"], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1278124015", "way/445686993", "way/445687450", "way/445688121"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1365791063", "name": null, "name_source": null, "place": {"rel": "at", "name": "Glenanda Primary School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.273226, "lon": 28.040543, "sports": ["tennis"], "courts_total": 4, "courts_by_sport": {"tennis": 4}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1365791063", "way/1365791064", "way/1365791065", "way/1365791066"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1414346228", "name": null, "name_source": null, "place": {"rel": "at", "name": "Nokuphila School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.000923, "lon": 28.160501, "sports": ["tennis"], "courts_total": 4, "courts_by_sport": {"tennis": 4}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1414346228", "way/1414346229", "way/1414346230", "way/1414346231"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-250986374", "name": null, "name_source": null, "place": {"rel": "at", "name": "Deutsche Internationale Schule Johannesburg", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.177922, "lon": 28.01994, "sports": ["tennis"], "courts_total": 4, "courts_by_sport": {"tennis": 4}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/250986374", "way/250986376", "way/250986379", "way/250986387"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-669950080", "name": null, "name_source": null, "place": {"rel": "at", "name": "Rand Park Primary School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.099897, "lon": 27.95495, "sports": ["tennis"], "courts_total": 4, "courts_by_sport": {"tennis": 4}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/669950080", "way/669950081", "way/669950082", "way/669950083"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-852163148", "name": null, "name_source": null, "place": {"rel": "at", "name": "Grayston Preparatory School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.09569, "lon": 28.063043, "sports": ["tennis"], "courts_total": 4, "courts_by_sport": {"tennis": 4}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/852163148", "way/852163149", "way/852163150", "way/852163151"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-863791015", "name": null, "name_source": null, "place": {"rel": "at", "name": "King David Linksfield School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.164221, "lon": 28.107312, "sports": ["tennis"], "courts_total": 4, "courts_by_sport": {"tennis": 4}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/863791015", "way/863791016", "way/863791017", "way/863791018"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-892094037", "name": null, "name_source": null, "place": {"rel": "at", "name": "Grosvenor Recreation Centre", "kind": "sports_centre"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.200823, "lon": 28.009568, "sports": ["tennis"], "courts_total": 4, "courts_by_sport": {"tennis": 4}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/892094037", "way/892094038", "way/892094039", "way/892094040"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-936245933", "name": null, "name_source": null, "place": {"rel": "at", "name": "Reddam", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.186054, "lon": 28.116702, "sports": ["tennis"], "courts_total": 4, "courts_by_sport": {"tennis": 4}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/936245933", "way/936245934", "way/936245935", "way/936245936"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1272452696", "name": "Alpha Padel Courts", "name_source": "court", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.311888, "lon": 27.833015, "sports": ["padel"], "courts_total": 3, "courts_by_sport": {"padel": 3}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1272452696", "way/1344533372", "way/1344533373"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-1284625421", "name": "court 1", "name_source": "court", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.123144, "lon": 27.864471, "sports": ["tennis"], "courts_total": 3, "courts_by_sport": {"tennis": 3}, "courts_count_exact": false, "multi_use_courts": 3, "setting": "unknown", "lit": "unknown", "surface": ["asphalt"], "access": "public", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1284625421", "way/1284625422", "way/1284625423"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-1107015464", "name": null, "name_source": null, "place": {"rel": "at", "name": "Greenside Primary", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.153037, "lon": 28.012774, "sports": ["tennis"], "courts_total": 3, "courts_by_sport": {"tennis": 3}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1107015464", "way/1107015465", "way/1107015466"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1146995103", "name": null, "name_source": null, "place": {"rel": "at", "name": "Holy Family College", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.167638, "lon": 28.046779, "sports": ["tennis"], "courts_total": 3, "courts_by_sport": {"tennis": 3}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1146995103", "way/1146995104", "way/1146995105"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1146995107", "name": null, "name_source": null, "place": {"rel": "at", "name": "Holy Family College", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.166549, "lon": 28.046992, "sports": ["tennis"], "courts_total": 3, "courts_by_sport": {"tennis": 3}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1146995107", "way/1146995108", "way/1146995109"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1285249887", "name": null, "name_source": null, "place": {"rel": "at", "name": "St Katherines School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.175162, "lon": 28.026787, "sports": ["tennis"], "courts_total": 3, "courts_by_sport": {"tennis": 3}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1285249887", "way/1285249888", "way/1285249889"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1286546948", "name": null, "name_source": null, "place": {"rel": "at", "name": "Parktown Boys' High School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.186302, "lon": 28.032894, "sports": ["tennis"], "courts_total": 3, "courts_by_sport": {"tennis": 3}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": ["paved"], "access": "public", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1286546948", "way/1286546949", "way/1286546950"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1363870399", "name": null, "name_source": null, "place": {"rel": "at", "name": "Delta Park School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.123289, "lon": 28.005283, "sports": ["tennis"], "courts_total": 3, "courts_by_sport": {"tennis": 3}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1363870399", "way/1363870400", "way/1363870401"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-250986378", "name": null, "name_source": null, "place": {"rel": "at", "name": "McAuley House", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.180906, "lon": 28.019795, "sports": ["tennis"], "courts_total": 3, "courts_by_sport": {"tennis": 3}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/250986378", "way/250986381", "way/250986390"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-261969117", "name": null, "name_source": null, "place": {"rel": "at", "name": "Dainfern College", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -25.989446, "lon": 28.008287, "sports": ["tennis"], "courts_total": 3, "courts_by_sport": {"tennis": 3}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": ["asphalt"], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/261969117", "way/377916396", "way/401507523"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-38435985", "name": null, "name_source": null, "place": {"rel": "at", "name": "St Stithians College", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.087601, "lon": 28.012593, "sports": ["tennis"], "courts_total": 3, "courts_by_sport": {"tennis": 3}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/38435985", "way/38435986", "way/38435987"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-407816184", "name": null, "name_source": null, "place": {"rel": "at", "name": "Parkhurst Primary School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.138237, "lon": 28.020088, "sports": ["tennis"], "courts_total": 3, "courts_by_sport": {"tennis": 3}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/407816184", "way/407816186", "way/407816187"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-407957565", "name": null, "name_source": null, "place": {"rel": "at", "name": "Emmarentia Primary School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.16387, "lon": 28.011414, "sports": ["tennis"], "courts_total": 3, "courts_by_sport": {"tennis": 3}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/407957565", "way/407957566", "way/407957567"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-407972341", "name": null, "name_source": null, "place": {"rel": "at", "name": "Rosebank Primary", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.141, "lon": 28.039146, "sports": ["tennis"], "courts_total": 3, "courts_by_sport": {"tennis": 3}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/407972341", "way/407972342", "way/407972343"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1009569954", "name": "Tennis court", "name_source": "court", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.140618, "lon": 28.080809, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1009569954", "way/1009570621"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-1092310685", "name": "Tennis Courts", "name_source": "court", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.18392, "lon": 28.010273, "sports": ["tennis", "pickleball"], "courts_total": 2, "courts_by_sport": {"tennis": 1, "pickleball": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1092310685", "way/1092310686"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-1147830223", "name": null, "name_source": null, "place": {"rel": "at", "name": "Fairways Primary School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.130091, "lon": 28.059791, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1147830223", "way/1147830224"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1226872272", "name": null, "name_source": null, "place": {"rel": "at", "name": "Impala Crescent Primary School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.315947, "lon": 27.845324, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1226872272", "way/1226872274"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1236535556", "name": null, "name_source": null, "place": {"rel": "at", "name": "Lenasia South Stadium", "kind": "stadium"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.389598, "lon": 27.852131, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": ["tartan"], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1236535556", "way/1236535557"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-1259662288", "name": null, "name_source": null, "place": {"rel": "at", "name": "Auckland Park Preparatory School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.18571, "lon": 28.007574, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1259662288", "way/1259662289"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1283850639", "name": null, "name_source": null, "place": {"rel": "at", "name": "Pinnacle College Linden", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.145261, "lon": 27.994445, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1283850639", "way/1283850640"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1366075365", "name": null, "name_source": null, "place": {"rel": "at", "name": "Trinityhouse Glenvista", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.289409, "lon": 28.068846, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1366075365", "way/1366075366"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1366075374", "name": null, "name_source": null, "place": {"rel": "at", "name": "Mulbarton Primary School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.301642, "lon": 28.061058, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1366075374", "way/1366075375"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1370358077", "name": null, "name_source": null, "place": {"rel": "at", "name": "IIE MSA", "kind": "university"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.085743, "lon": 27.878791, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 2, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1370358077", "way/1370358078"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "Campus grounds — often closed to the public; confirm access.", "school": true}, {"id": "way-1391173427", "name": null, "name_source": null, "place": {"rel": "at", "name": "Ferndale High School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.082351, "lon": 28.003699, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1391173427", "way/1391173428"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1495454931", "name": null, "name_source": null, "place": {"rel": "at", "name": "Highlands North Boys High School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.148504, "lon": 28.083318, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1495454931", "way/1495454932"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1532686465", "name": null, "name_source": null, "place": {"rel": "at", "name": "Florida Primary School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.176402, "lon": 27.916913, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 2, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1532686465", "way/1532686466"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-236552002", "name": null, "name_source": null, "place": {"rel": "at", "name": "Michael Mount Waldorf School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.045425, "lon": 28.028895, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/236552002", "way/236552003"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-372014049", "name": null, "name_source": null, "place": {"rel": "at", "name": "University of the Witwatersrand Education Campus", "kind": "university"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.178641, "lon": 28.040706, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/372014049", "way/372014050"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "Campus grounds — often closed to the public; confirm access.", "school": true}, {"id": "way-407835413", "name": null, "name_source": null, "place": {"rel": "at", "name": "King Edward VII Preparatory School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.173023, "lon": 28.065578, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/407835413", "way/407835414"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-407959010", "name": null, "name_source": null, "place": {"rel": "at", "name": "Japanese School of Johannesburg", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.151026, "lon": 27.999948, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/407959010", "way/407959011"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-452200963", "name": null, "name_source": null, "place": {"rel": "at", "name": "Indaba Hotel, Spa & Conference Centre", "kind": "hotel"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.002475, "lon": 28.009834, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/452200963", "way/452200964"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "club", "private": false, "private_basis": "hotel", "private_reason": "Hotel or resort court, may be for guests or paid", "access_note": "Hotel guests only unless the hotel says otherwise. Confirm with the hotel before you go."}, {"id": "way-478694877", "name": null, "name_source": null, "place": {"rel": "at", "name": "Laerskool Dalmondeor Primary Dallies", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.273209, "lon": 28.007882, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/478694877", "way/478694892"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-479947120", "name": null, "name_source": null, "place": {"rel": "at", "name": "Central Johannesburg College (Crown Mines)", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.233161, "lon": 27.969364, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/479947120", "way/479947410"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-484100851", "name": null, "name_source": null, "place": {"rel": "at", "name": "Rembrandt Park Primary School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.121875, "lon": 28.128514, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/484100851", "way/484100852"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-546404958", "name": null, "name_source": null, "place": {"rel": "at", "name": "Boskruin Park", "kind": "park"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.08781, "lon": 27.944719, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/546404958", "way/546404959"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-792612146", "name": null, "name_source": null, "place": {"rel": "at", "name": "Rhodes Park", "kind": "park"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.192653, "lon": 28.099047, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/792612146", "way/792612147"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-863791012", "name": null, "name_source": null, "place": {"rel": "at", "name": "King David Linksfield School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.165115, "lon": 28.107758, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/863791012", "way/863791013"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-976908131", "name": null, "name_source": null, "place": {"rel": "at", "name": "Crawford International Lonehill College", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.013948, "lon": 28.029693, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 2, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/976908131", "way/976908132"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-978671140", "name": null, "name_source": null, "place": {"rel": "at", "name": "Crawford Preparatory Lonehill", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.007388, "lon": 28.032839, "sports": ["tennis"], "courts_total": 2, "courts_by_sport": {"tennis": 2}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/978671140", "way/978671141"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1265520221", "name": "Gayle Padel Club", "name_source": "court", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.326131, "lon": 27.866206, "sports": ["padel"], "courts_total": 1, "courts_by_sport": {"padel": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "yes", "surface": [], "access": "members", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1265520221"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "club", "private": false, "private_basis": "access_tag", "private_reason": "OpenStreetMap access=members or customers only", "access_note": "Members / guests / customers — paid or restricted access. Confirm with the venue before you go."}, {"id": "way-1092310684", "name": "Padel Courts", "name_source": "court", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.182743, "lon": 28.011517, "sports": ["padel"], "courts_total": 1, "courts_by_sport": {"padel": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1092310684"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-398146974", "name": "Panorama Tennis Club", "name_source": "area", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.131385, "lon": 27.923785, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": ["concrete"], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/398146974"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "club", "private": false, "private_basis": "club_name", "private_reason": "Club by name, no public-access tags", "access_note": "Members / guests / customers — paid or restricted access. Confirm with the venue before you go."}, {"id": "way-1219523233", "name": "SpringRidge Tennis Courts", "name_source": "court", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.090236, "lon": 28.059153, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1219523233"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-236286518", "name": "Tennis", "name_source": "court", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.097161, "lon": 28.047171, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/236286518"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-407944669", "name": "Zoo Lake Padel Court", "name_source": "court", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.162594, "lon": 28.0329, "sports": ["padel"], "courts_total": 1, "courts_by_sport": {"padel": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "yes", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/407944669"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-1100656375", "name": null, "name_source": null, "place": {"rel": "at", "name": "Bellavista School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.138642, "lon": 28.053927, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1100656375"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1156571342", "name": null, "name_source": null, "place": {"rel": "near", "name": "Camdeboo Road", "kind": "street"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.001594, "lon": 28.006486, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "public", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1156571342"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-1156571345", "name": null, "name_source": null, "place": {"rel": "near", "name": "Coral Tree Crescent", "kind": "street"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.002263, "lon": 28.006296, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "public", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1156571345"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-1195526267", "name": null, "name_source": null, "place": {"rel": "at", "name": "UNISA Institute for Social and Health Sciences", "kind": "university"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.355288, "lon": 27.851186, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1195526267"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "Campus grounds — often closed to the public; confirm access.", "school": true}, {"id": "way-1215561347", "name": null, "name_source": null, "place": {"rel": "at", "name": "Midrand Christian College", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -25.984242, "lon": 28.11159, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 1, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1215561347"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-121783280", "name": null, "name_source": null, "place": {"rel": "at", "name": "Ferndale Recreation Centre", "kind": "sports_centre"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.097234, "lon": 27.997357, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/121783280"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-1333159842", "name": null, "name_source": null, "place": {"rel": "at", "name": "Sacred Heart College", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.173731, "lon": 28.078189, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1333159842"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1365730423", "name": null, "name_source": null, "place": {"rel": "at", "name": "Rotunda Park", "kind": "park"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.24348, "lon": 28.040773, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1365730423"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-1391173438", "name": null, "name_source": null, "place": {"rel": "at", "name": "Ferndale High School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.08357, "lon": 28.004755, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 1, "setting": "unknown", "lit": "unknown", "surface": ["asphalt"], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1391173438"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-1422618102", "name": null, "name_source": null, "place": {"rel": "at", "name": "Midrand High school", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -25.988153, "lon": 28.117508, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/1422618102"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-228353757", "name": null, "name_source": null, "place": {"rel": "at", "name": "Helpmekaar", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.18887, "lon": 28.033686, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 1, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/228353757"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-236286576", "name": null, "name_source": null, "place": {"rel": "at", "name": "Crawford International - Sandton", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.095953, "lon": 28.048733, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/236286576"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-243010872", "name": null, "name_source": null, "place": {"rel": "at", "name": "St David's Marist", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.1208, "lon": 28.050366, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/243010872"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-312144505", "name": null, "name_source": null, "place": {"rel": "near", "name": "Abelia Street", "kind": "street"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.080468, "lon": 28.046545, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "public", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/312144505"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-317069810", "name": null, "name_source": null, "place": {"rel": "at", "name": "Parkview Senior Primary School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.155277, "lon": 28.024487, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/317069810"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-374064368", "name": null, "name_source": null, "place": {"rel": "at", "name": "Naledi Secondary School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.251419, "lon": 27.829842, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/374064368"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-563557481", "name": null, "name_source": null, "place": {"rel": "at", "name": "African Leadership Academy", "kind": "college"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.076093, "lon": 27.915289, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/563557481"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "Campus grounds — often closed to the public; confirm access.", "school": true}, {"id": "way-730199476", "name": null, "name_source": null, "place": {"rel": "at", "name": "Roedean School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.176294, "lon": 28.051504, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/730199476"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-792612158", "name": null, "name_source": null, "place": {"rel": "at", "name": "Jeppe High School for Girls Playing Fields", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.195783, "lon": 28.091834, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/792612158"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-916948654", "name": null, "name_source": null, "place": {"rel": "at", "name": "Trezona Park", "kind": "park"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.165618, "lon": 27.917277, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/916948654"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-945835786", "name": null, "name_source": null, "place": {"rel": "at", "name": "Fourways High School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.028259, "lon": 28.004331, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/945835786"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-945835787", "name": null, "name_source": null, "place": {"rel": "at", "name": "Fourways High School", "kind": "school"}, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.026365, "lon": 28.005803, "sports": ["tennis"], "courts_total": 1, "courts_by_sport": {"tennis": 1}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": null, "address": {}, "address_text": null, "osm_ids": ["way/945835787"], "from_facility_only": false, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null, "access_note": "School grounds — often closed to the public during school hours; confirm access.", "school": true}, {"id": "way-560047019", "name": "Greyville Park", "name_source": "facility", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.33113, "lon": 27.827781, "sports": ["padel"], "courts_total": 0, "courts_by_sport": {}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "yes", "surface": [], "access": "unknown", "fee": "no", "website": null, "opening_hours": null, "operator": "City of Johannesburg", "address": {}, "address_text": null, "osm_ids": ["way/560047019"], "from_facility_only": true, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-32517458", "name": "Rabie Ridge Sport Stadium and Swimming Pool", "name_source": "facility", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.021204, "lon": 28.16909, "sports": ["tennis"], "courts_total": 0, "courts_by_sport": {}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "unknown", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": null, "opening_hours": null, "operator": "City of Johannesburg Sports and Recreation", "address": {}, "address_text": null, "osm_ids": ["way/32517458"], "from_facility_only": true, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}, {"id": "way-620572640", "name": "Virgin Active", "name_source": "facility", "place": null, "city_slug": "johannesburg-za", "city": "Johannesburg", "state": "", "country": "ZA", "lat": -26.138561, "lon": 28.009151, "sports": ["tennis"], "courts_total": 0, "courts_by_sport": {}, "courts_count_exact": false, "multi_use_courts": 0, "setting": "indoor", "lit": "unknown", "surface": [], "access": "unknown", "fee": "unknown", "website": "https://www.virginactive.co.za/gyms/victory-park/", "opening_hours": "Mo 06:00-20:00; Tu-Th 05:00-21:30; Fr 05:00-21:00; Sa-Su 06:00-20:00", "operator": null, "address": {"street": "Rustenburg Road", "unit": "Shop LG01 and UG01", "city": "Johannesburg", "postcode": "2195"}, "address_text": "Rustenburg Road, Johannesburg, 2195", "osm_ids": ["way/620572640"], "from_facility_only": true, "metro": null, "metro_slug": null, "access_status": "public", "private": false, "private_basis": null, "private_reason": null}]}