Most of Puerto San José ’s acceptable accommodations are oddly not found beachside. An exception is Posada Quetzal (along the main drag in Barrio Miramar, tel. 7881-1892 or 7881-2493), where you’ll find a pleasant beachside restaurant on a covered wooden deck, a swimming pool, and simple but clean bungalows with ceiling fan and cable TV. The beach fronting the property is somewhat dirty, as it’s right in town.
Some nicer options can be found in the heart of town.
Turicentro Martita (tel. 7888-4848) has a very good restaurant with indoor or outdoor (poolside) seating and a varied menu of sandwiches, soups, grilled meats, and seafood. Its spotless rooms have comfortable beds, private bath, and air-conditioning, among other amenities. Rates vary, ranging from $65 s/d midweek to $80 per night s/d on weekends. Guests enjoy half-off admission to Aqua Magic  water park.
Heading west outside of town along Km. 113 on the road to the beachside development of Chulamar, you’ll find Hotel Costa Verde (tel. 2367-0571 or 7881-1161, www.hotelcostaverdeguatemala.com , $65–85 depending on day of week), a very nice property offering rooms with all the standard amenities as well as fully equipped suites. There are a restaurant and a swimming pool.
For food, turning right after the Chiquimulilla Canal bridge (coming from the mainland) into the beachfront part of town, you’ll find Rancho Costa Grande, a popular place with a varied menu that is predictably heavy on seafood.
All of the other recommended places to eat are in the hotel properties.
The best restaurant in town is hands-down that of Turicentro Martita (tel. 7888-4848).