The attack, the first in weeks, occurred at the Jamrud market in the volatile Khyber Agency.
CNN, quoting an official, reported the explosion killed at least 26 people and wounded more than 50.
The tribal region, which is close to the border with Afghanistan, has been relatively quiet lately although the Taliban and other militants are known to be active there.
Jameel Khan, a government official, said the bomb was placed in a vehicle belonging to a local militia group fighting the militants, CNN reported. The bomb was set off remotely, he said.
Geo News said the blast occurred near a bus stop in the market area. The injured were taken to hospitals, where many were reported in critical condition, the report said.