Buslijn 347/348 is een R-net buslijn geëxploiteerd door Connexxion die het centrum van Amsterdam en Amsterdam-Zuid met Amstelveen en Uithoorn verbindt. De lijn werd in december 2017 ingesteld als opvolger van lijn 170 en vervult tevens een belangrijke stadsvervoerfunctie binnen Amsterdam.
Op 15 mei 1942 werden twee lijnen ingesteld, ter vervanging van de spoorlijnen tussen Mijdrecht, Wilnis en Uithoorn en tussen Nieuwkoop, Nieuwveen, de Kwakel en Uithoorn bij de toenmalige streekvervoerder Maarse & Kroon en kregen de lijnnummers 6 en 7 (tegenwoordig Arriva 147). Vanaf Uithoorn werd door lijn 6 en 7 verder gereden over de Bovenkerkerweg naar Amstelveen waar werd gereden via de van der Hooplaan, de Keizer Karelweg en de Amsterdamse en Amstelveenseweg naar het Haarlemmermeerstation waar voor het centrum kon worden overgestapt op andere M&K lijnen of het GVB.
Als versterkingslijn voor lijn 6 en 7 werd in mei 1970 een nieuwe lijn 8 ingesteld die het snel groeiende Uithoorn verbond met het inmiddels 10 jaar oude winkelcentrum Plein 1960 en het Haarlemmermeerstation. Er werd gezamenlijk met lijn 6 en 7 om het kwartier gereden waarbij lijn 8 echter in Uithoorn de oostelijke nieuwbouwwijken ging bedienen terwijl lijn 6 en 7 via het westelijke gedeelte van Uithoorn bleven rijden.
Op 17 oktober 1971 werden de lijnen 1/11, 6, 7, 8 en 9 open gesteld voor stadsvervoer in Amsterdam omdat GVB bus 29 werd opgeheven en vervangen door M&K-lijnen die toegankelijk waren met GVB-plaatsbewijzen. Dit betrof alleen het traject tussen de Kalfjeslaan en het Haarlemmermeerstation. Pas later na de eerste fase van Lijnen voor morgen in 1971 was dit ook toegestaan op het verdere traject.
In juni 1973 fuseerde M&K met de NBM tot Centraal Nederland.
In 1980 begon CN systematisch de lijnnummers te verhogen om doublures binnen Amsterdam te voorkomen. De ex MK-lijnen kwamen op 31 mei 1981 aan de beurt. De 100-nummers waren al in gebruik en dus werd lijn 8 tot 170 vernummerd. Tevens werd de lijn ter vervanging van de opgeheven lijnen 9 en 19 via de de Lairessestraat, Museumplein en Leidseplein doorgetrokken naar het Centraalstation waar de lijn een standplaats kreeg in het Prins Hendrikplantsoen. De lijn groeide hierdoor uit tot een belangrijke doorgaande verbinding.
Lijn 170, gezamenlijk gereden door Aalsmeer en Amsterdam, groeide uit tot een drukke lijn en net als lijn 67 werd de dienst vanaf mei 1987 geëxploiteerd met gelede bussen; deze waren niet afkomstig uit de Amstel III-garage maar van de VAD die daar overbodig werden door de ingebruikname van de Flevospoorlijn. In Uithoorn werd de lijn vanaf het busstation verlengd naar de nieuwe Meerwijk.
Eind jaren 1980 werd lijn 170 verlegd via een nieuwe busbaan langs Poortwachter als voorloper van sneltram 51.
In mei 1994 werd CN opgeheven en verdeeld (feitelijk teruggesplitst) tussen NZH en Midnet; lijn 170 was voortaan een NZH-lijn.
In Amsterdam werd de route in 1995 verlegd van het Museumplein (dat autovrij werd) naar de Paulus Potterstraat. In Uithoorn werd op 24 mei 1998 een nieuw busstation geopend gelegen aan het Cort van der Lindenplein, centraler in het dorp gelegen, ter vervanging van het oude busstation aan de Zijdelweg tegenover de NZH-garage NZH. Ook was er een tijdelijke doortrekking naar Mijdrecht en Wilnis tegenover de inkorting van lijn 126. Een deel van de ritten reed verder door naar Woerden.
In mei 1999 fuseerden NZH en Midnet met de omringende streekvervoerders tot Connexxion, alweer de vierde exploitant voor lijn 170.
In december 2007 verdwenen de gelede bussen maar ging de lijn frequenter rijden, op de meeste tijden elke 10 minuten. De helft van de diensten ging voortaan niet verder dan het busstation in Uithoorn. De andere helft kreeg zijn eindpunt op het Amstelplein.
Op 10 december 2017 werd lijn 170 omgezet in lijn 347 en onderdeel gaan uitmaken van R-net. De nieuwe lijn 347 werd ingekort tot het busstation Uithoorn en rijdt niet meer door naar Meerwijk. De lijn ging na tien jaar weer grotendeels met gelede bussen rijden; voornamelijk elektrische bussen, maar ook oudere wagens afkomstig van R-netlijn 300 richting Haarlem. In Uithoorn is de lijn gekoppeld aan R-netlijn 342 naar Schiphol waar de mogelijkheid bestaat de elektrische bussen op te laden. Op 16 juli 2018 werd de lijn ingekort tot het busstation Elandsgracht.
Op 22 juli 2018 bij de ingebruikname van de Noord-Zuidlijn werd lijn 347 gesplitst in lijn 347 en 348 waarbij lijn 347 in frequentie werd gehalveerd. Lijn 348 rijdt vanaf station Zuid - waar wordt aangetakt op de metro - dezelfde route als lijn 347 naar Uithoorn. Op 15 december 2019 werd de halte Grote Beer in Amstelveen toegevoegd, na veel protest tegen het vervallen van de halte in Amstelveen. Deze halte bleef in gebruik nadat de ombouw van de Amstelveenlijn gereed was.
Op 10 december 2023 werd lijn 348 vanuit Uithoorn ingekort tot het busstation Amstelveen. Op 21 juli 2024 zullen lijn 347 en 348 worden opgeheven na de doortrekking van de Amsteltram vanuit Westwijk naar Uithoorn.
Lijn 170 werd sinds december 2007 ondersteund door de lijnen 142 en 144 die in Uithoorn een afwijkende route reden. Lijn 144 werd binnen een jaar weer opgeheven. Tot december 2017 reed als ondersteuning lijn 142 als sneldienst maar in de stille uren vervangen door een normale lijn 174.
Van 2011-2017 reed een spitslijn 241 tussen Amstelveen Legmeer en Station Amsterdam Zuid.
Tussen Mijdrecht, Uithoorn, Amstelveen en Station Amsterdam Zuid rijdt in de spitsuren lijn 242.
Op 22 juli 2018 werden alle ritten van Amsterdam Zuid naar Uithoorn vervangen door lijn 348, en werden alle andere ritten doorgetrokken naar Mijdrecht.
Op 9 december 2018 werd de route van lijn 242 in Uithoorn verlegd naar de wijk Legmeer, tegelijkertijd werd de halte Stationsstraat in Uithoorn hernoemd naar Centrum, Hierdoor kreeg Legmeer weer een directe verbinding naar Mijdrecht en Amsterdam Zuid.
Op 15 december 2019 verviel de halte Couperuslaan. Op 4 januari 2021 werd lijn 242 opgeheven een deels vervangen door lijn 274.
Op 3 januari 2021 kwam lijn 242 te vervallen en werd vervangen door lijn 274. Deze lijn rijdt niet door naar Mijdrecht maar naar Uithoorn Amstelplein.
Begin jaren 2000 reed er enkele jaren een spitslijn in één richting tussen het busstation Uithoorn via de route van lijn 170 naar Amstelveen Plein 1960 en vandaar via de Oranjebaan, Burgemeester Stramanweg, station Bijlmer en de Daalwijkdreef naar station Diemen Zuid.
Van december 2007 tot december 2017 reed er op werkdagen overdag een lijn 146 vanaf het busstation Uithoorn via de route van lijn 170 in Uithoorn tot de Beneluxbaan in Amstelveen. Vandaar werd via de Groenelaan, het Ziekenhuis Amstelveen, de Oranjebaan en de Burgemeester Stramanweg naar station Bijlmer gereden. In tegenstelling tot lijn 178 reed lijn 146 in beide richtingen en ook tussen de spitsen.
Sinds 1974 bestond er in het weekeinde ook een nachtbus naar Uithoorn en Aalsmeer. Dit was eerst lijn 18, die reed in samenhang met GVB nachtbuslijn 74, en sinds 1981 lijn 178. Later reden de nachtbussen onder het lijnnummer 170, daarna als lijn N70 en nu als lijn N47.