• placement: superzone
  • path: destinations/pois/hero
  • containerId: gpt-ad-276181493871
  • possible size: [970, 250], [970, 90], [728, 90], [320, 50], [1, 1],
  • targeting:
    {
      "url": "points-of-interest/cais-da-ribeira/1510621",
      "destination": "Ribeira",
      "title": "ribeira",
      "type": "Neighborhood",
      "neighborhood": "Ribeira",
      "continent": "Europe",
      "country": "Portugal",
      "city": "Porto",
      "refresh": 30,
      "refresh_limit": 3
    }

Cais da Ribeira

This riverfront promenade is postcard Porto, taking in the whole spectacular sweep of the city, from Ribeira's pastel houses stacked like Lego bricks to the barcos rabelos (flat-bottomed boats) once used to transport port from the Douro. Early-evening buskers serenade crowds, and chefs fire up grills in the hole-in-the-wall fish restaurants and tascas (taverns) in the old arcades.

Lonely Planet may earn a commission from affiliate links on our site. All recommendations and reviews reflect our own independent opinions.

  • placement: superzone
  • path: destinations/pois/middle
  • containerId: gpt-ad-996323675494
  • possible size: [970, 250], [970, 90], [728, 90], [320, 50], [1, 1],
  • targeting:
    {
      "url": "points-of-interest/cais-da-ribeira/1510621",
      "destination": "Ribeira",
      "title": "ribeira",
      "type": "Neighborhood",
      "neighborhood": "Ribeira",
      "continent": "Europe",
      "country": "Portugal",
      "city": "Porto",
      "refresh": 30,
      "refresh_limit": 3
    }

Must-see attractions

  • placement: superzone
  • path: destinations/pois/superzone
  • containerId: gpt-ad-540312902055
  • possible size: [970, 250], [970, 90], [728, 90], [320, 50], [1, 1],
  • targeting:
    {
      "url": "points-of-interest/cais-da-ribeira/1510621",
      "destination": "Ribeira",
      "title": "ribeira",
      "type": "Neighborhood",
      "neighborhood": "Ribeira",
      "continent": "Europe",
      "country": "Portugal",
      "city": "Porto",
      "refresh": 30,
      "refresh_limit": 3
    }