How we process the provider list
Almost everything on this site comes from one file: theApproved Education Service Providersspreadsheet published by the South Carolina Department of Education. Their file is always the authority on who is approved. Alongside it we keep our own list of South Carolina’s public charter schools, which the Department’s file does not cover; every listing says which of the two it came from. This page explains exactly what we do to both, so you can judge whether to trust the result.
- Official list published
- July 29, 2026
- We last checked for updates
- August 10, 2026
- Rows in the state’s file
- 913
- Schools on our charter list
- 60
- Listings after combining duplicates
- 822
We check twice a day
An automated job asks the Department’s server whether the file has changed. Almost always it has not, and the job stops there. When it has, the file is downloaded, checked that it really is a spreadsheet, and rebuilt into this site. Every change is reviewed against a set of sanity checks before it goes live — if the provider count swings wildly, a column disappears, or an unfamiliar value shows up, the update waits for a person.
If the Department’s site is unavailable, nothing happens to this one: it keeps serving the last good data, and we say when it was last confirmed rather than implying it is fresh.
We clean up the file
Spreadsheets accumulate damage. In the current publication we repair, among other things:
- ZIP codes whose leading zeros Excel deleted.
1776is Sudbury, Massachusetts, not a ZIP code at all until the zero is restored. - Web addresses missing
https://— about half of them — plus fifty entries that say “do not have a website” in eight different capitalisations. - Phone numbers in inconsistent formats, and three cells containing a spreadsheet error.
- Town names in all capitals, and a few rows where a street address landed in the town column.
We repair the damage. We do not rewrite what providers wrote about themselves — descriptions and prices appear in their own words, exactly as submitted.
We combine duplicate entries
The state’s file is fed by two different registration systems, and many providers appear in both — same email, same website, slightly different address and phone. Showing them twice would leave you with two phone numbers and no way to know which is current, so we combine them into one listing.
We are careful about the reverse mistake. Seven GREEN charter schools share one Greenville address, one phone number and one website, but they are seven different schools spread across the state — one of them near Charleston. Providers whose names carry distinguishing words are never combined, however much else they share. Where a case is genuinely ambiguous, a person decides rather than a rule.
We work out what providers actually offer
The state’s file has a “Type” column, but it mixes two different things. Some rows say what the provider does — tutoring, curriculum, independent school. About a third say only how the business is registered: “LLC”, “Nonprofit”, “Corporation”. Nobody looking for reading help searches for an LLC.
So for those rows we work it out, in this order:
- If the state said what they do, we use that.
- If the same provider appears twice and the other entry says what they do, we use that. This alone resolves most of them.
- If the record has tutoring-specific fields filled in — an hourly rate, a list of subjects — they are a tutor. If it has a school-shaped name and enrols students by grade, it is a school.
- Failing all that, we look for clear phrases in their own description.
- If none of that is conclusive, we leave them uncategorised rather than guess.25 providers are in that position. They still appear in search and on the map; they just are not filed under a category.
Every provider page records which of these applied. No language model is involved at any point — these are fixed, reviewable rules.
We work out where providers are
The state’s file has no county column, and addresses are the address a business registered with, which is not always where they teach. We look each address up with the US Census Bureau’s geocoder to get coordinates and a county. Where an address cannot be pinned exactly we fall back to the centre of its ZIP code and say the location is approximate, rather than showing a precise pin we cannot justify.
Where a provider gave a separate address for where services actually happen — a church hall, a library, a studio — that is the one we map, because it is the one you would travel to.
What we hold back
We do not publish provider email addresses, and we do not put a precise pin on what looks like a private home. Both are in the state’s file; neither is on this site. The reasoning is on the about page.
Checking our work
Every provider page cites the exact rows of the state’s file it was built from, and links to that file. The updates page lists every change we have published. If something here disagrees with the Department’s file, the Department is right and we have a bug.