The average cost for a portrait photographer is $150 per hour. Hiring a portrait photographer to take family photos, you will likely spend between $100 and $400 per hour. The price of a portrait photographer can vary greatly by region (and even by zip code).