DEBUG: Raw major_slug = ""
DEBUG: Initial offers_url = "https://www.collegefactual.com/majors/history/offers.json", major_slug = ""
DEBUG: After cleaning major_slug = ""
DEBUG: Before URL cleaning = "https://www.collegefactual.com/majors/history/offers.json"
DEBUG: After TrimSuffix = "https://www.collegefactual.com/majors/history/offers.json"
DEBUG: After HTTPS placeholder = "HTTPS_TEMP_PLACEHOLDERwww.collegefactual.com/majors/history/offers.json"
DEBUG: After slash cleaning = "HTTPS_TEMP_PLACEHOLDERwww.collegefactual.com/majors/history/offers.json"
DEBUG: After URL cleaning = "https://www.collegefactual.com/majors/history/offers.json"
DEBUG: offers_url = https://www.collegefactual.com/majors/history/offers.json
DEBUG: major_slug = ""
DEBUG: offers_url is valid, proceeding to fetch data
DEBUG: offers_data.offers found, count = 5
DEBUG: ROOT LEVEL MAJOR detected (no cip4), lowering min_relevance to 0.5
DEBUG: Starting relevance filtering - min_relevance = 0.5, max_relevance = 1
DEBUG: Checking offer "History (I Have a HS Diploma or Associate Degree)" with relevance 1
DEBUG: ✓ Offer "History (I Have a HS Diploma or Associate Degree)" ACCEPTED (relevance 1)
DEBUG: Checking offer "History (I Have a Bachelors)" with relevance 1
DEBUG: ✓ Offer "History (I Have a Bachelors)" ACCEPTED (relevance 1)
DEBUG: Checking offer "BA in History" with relevance 1
DEBUG: ✓ Offer "BA in History" ACCEPTED (relevance 1)
DEBUG: Checking offer "MA in History" with relevance 1
DEBUG: ✓ Offer "MA in History" ACCEPTED (relevance 1)
DEBUG: Checking offer "History (I Have a HS Diploma or Associate Degree)" with relevance 0.6
DEBUG: ✓ Offer "History (I Have a HS Diploma or Associate Degree)" ACCEPTED (relevance 0.6)
DEBUG: relevant_offers count = 5
DEBUG: relevant_offers > 0, checking for ESYOH offers
DEBUG: ESYOH filtering - found 3 ESYOH offers with relevance >= 0.5
DEBUG: esyoh_offers count = 3
DEBUG: ESYOH offers found, rendering ESYOH widget
DEBUG: most_relevant_only = true, filtering for most relevant
DEBUG: Found 2 offers with relevance >= 1.0
Best Schools for History in South Dakota
If you are not interested in a particular degree level and want to know which schools are the overall best at delivering an education for the history degrees they offer, see the list below.
Top Schools in History
South Dakota State University tops our 2026 ranking of the best history schools. Located in the town of Brookings, South Dakota State University is a large public university. Roughly 62% of students complete a degree within six years here. South Dakota State University awarded about 26 history degrees in the most recent data year. Graduates of the history program make about $33,135 in their early career. South Dakota State University graduates carry a median of $26,977 in student loans.
See the full history program report for South Dakota State University
University Of South Dakota came in at #2 on our 2026 list of the best history schools. This large public university is located in the town of Vermillion. The six-year graduation rate is 60%. About 13 history degrees were awarded at University Of South Dakota in the most recent year. Soon after graduation, history degree recipients from University Of South Dakota generally make around $28,431. Students borrow a median of $27,000 to complete this degree.
More information about a degree in history from University Of South Dakota