Instructions
Step 1
Make the marinade: To a blender, add the orange juice, tomato purée, achiote paste, garlic, cumin, parsley, rosemary, and thyme. Pulse until completely smooth, then transfer to a small pot.
Step 2
Bring the marinade to a boil over medium-high, then turn the heat to medium-low to maintain a strong simmer. Cook, stirring occasionally to prevent scorching, until the marinade is slightly thickened and the garlic no longer tastes raw, 15–20 minutes. Season to taste with salt and black pepper, then transfer to a large heatproof bowl and set aside to cool to room temperature. Use immediately, or transfer to an airtight container and refrigerate for up to 1 week.
Step 3
If using whole fish, use a sharp knife to score the fish crosswise on each side, being careful not to cut through to the bone. Place the fish in a large baking dish and rub 1½ cups of the marinade all over the exterior and inside the slits. (If using fillets, in a large bowl, toss the cubed fish with 1½ cups of the marinade.) Set aside to marinate at room temperature for at least 15 minutes, or up to 40.
Step 4
Meanwhile, heat a charcoal or gas grill to high (alternatively, heat a grill pan over high). When it’s hot, liberally oil the grates. Thread the fish onto four 10-inch metal or bamboo skewers (if using bamboo, soak for at least 30 minutes before grilling). Transfer to the grill and cook, turning occasionally, until the fish is charred in places and cooked through, 14–16 minutes for whole fish, 5–6 minutes for cubed fish. Transfer to a platter and serve with lime wedges, hot sauce, and the remaining marinade.