Mix marinade ingredients in a large bowl. Stuff the snapper cavity with the marinade ingredients. Tie snapper with kitchen string to keep the ingredients inside of fish. Marinate in the refrigerator for 4 hours.
Preheat the grill. Preheat the oven to 450 degrees F.
For sauce, heat up olive oil in pan. Cook tomatoes for 3 to 4 minutes. Add basil and butter and cook for 3 minutes. Add pine nuts and season with salt and pepper.
Place the snapper on an oiled grill and cook until there are grill marks on both sides, about 2 minutes per side. Place on a sheet pan or in a baking dish and roast until the fish is cooked through, about 15 more minutes. Serve snapper with the sauce.