The town of Salem was platted in July of 1880. Its location was determined by the railroad as it was one of the many town sites marked off at various intervals by the railway companies as they made their way west.
Salem was named by Oliver S. Pendar for his home town, Salem, MA He came to McCook County in 1878 and settled in Salem in 1880. Salem is located on a small stream known as Snake Creek. The creek is never very full anymore and its existence in the town is hardly noticeable except in the southwest and north portions as the remainder is covered by culverts.
This was not always the case at one time the streets of Salem, including Main Street, contained many bridges which enabled horses, buggies and persons on foot to cross the creek. The bridges were replaced by culverts over 100 years ago when many of them were washed out in the flood of 1907. The first hotel in Salem was built by Martin Glaser and known as the Salem House. About the same time that the hotel was built, Clerk of Courts, J. F. Norton, moved from Cameron to Salem and opened a real estate office. He later formed a partnership with Mr. John Brown and the two opened the first bank in Salem.