St. James is located in southern Brunswick County, it is bordered to the south, west, and north by the town of Oak Island.
North Carolina Highway 211 forms part of the northern border of the town, leading east 5 miles (8 km) to Southport and west 11 miles (18 km) to U.S. Route 17 at Supply.
[4] As of the 2020 United States census, there were 6,529 people, 2,713 households, and 2,458 families residing in the town.
10.4% of all households were made up of individuals, and 6.0% were someone living alone who was 65 years of age or older.
The other council members are: Dave DeLong (2021), Jim Board (2021), Lynn Dutney (2019) and David Morgan (2021).
In the North Carolina Senate, St. James is represented by Bill Rabon (District 8).