Buffalo is a town located in Harper County, Oklahoma. Buffalo has a 2026 population of 1,019. It is also the county seat of Harper County. Buffalo is currently growing at a rate of 0.1% annually but its population has decreased by -1.45% since the most recent census, which recorded a population of 1,034 in 2020.