The Cafe at Books & Books
Oh, doggone it! Our users have reported that this restaurant is closed.
Here are some other dog-friendly restaurants in Miami Beach to try instead.
Here are some other dog-friendly restaurants in Miami Beach to try instead.
There is some debate regarding the book selection at Books & Books (not enough best-sellers, too indie, can't compete with Amazon etc.) but there is little debate about the menu available at the Cafe at Books & Books - it is agreed to be delicious. The Cafe offers an extensive menu of breakfast and lunch items, plus a great selection of baked goods. Well-behaved dogs are welcome inside the store.
Visit Website
Or call (305) 695-8898 for more information.
Reviews
Loading reviews…
Unable to load.
Questions & Answers
Be the first to ask a question about this restaurant.
Traveller Photos
We haven‘t received any photos of The Cafe at Books & Books yet.
Want to feature your creature? Upload a photo of your pet at The Cafe at Books & Books! You can also share by using the hashtag #bringfido on Facebook, X, TikTok or Instagram.
Area Info
Nearby Hotels
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
Nearby Activities
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
SimilarRestaurants
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="14963" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="30">