Throughball

For site owners

About our crawler

If you found this page from a User-Agent in your server logs, this is us. Throughball is a college-soccer recruiting tool for families. It reads the public pages listed below — college athletics pages, the public directories of college athletic associations, and pages a web search returns — so a family can see a program's current coaching staff and the recruiting-questionnaire and camp links it publishes, without re-checking dozens of sites by hand. This page says what we read, how often, how we behave, what we keep, and how to reach us.

What we read

  • The coaching-staff pages of the college soccer programs in our catalog.
  • A few pages around a staff page, when we need them: pages a web search returns while we look for a program's staff page (we keep the staff page's address, and a record of the pages we tried and why we turned any down — up to three the search returns, a staff link one of them carries, the program's standard staff-page address, that same standard address beside a season-dated roster address we were given, and the staff index above a coach's own page, each sent to our AI model provider to judge whether it is the staff page; they can include a team roster or a page on another site); a program's recruiting or prospective student-athlete pages on the same site, reached from its staff page, only for the link to its recruiting questionnaire; in a pass over our catalog for recruiting questionnaires, up to four pages of a program's own athletics site (its staff page, its team page, its roster and one page its menu names for recruits), only for that same link; a coach's own page on the same site, linked from the staff page of a program a family follows, only for the work email it prints when the staff page lists none for that coach; and a program's own camp page on the same athletics site, for the camp dates, location and price it publishes. The questionnaire form, and a camp page on another site, are kept as links and never opened.
  • The NCAA's public member directory, and the index pages of the NAIA's public member and sport directories, for facts about an institution: its city, state and athletics website address.
  • Pages a web search returns about a coach, only when a family asks us to prepare them for a call with that coach.

Some of the pages we read are also read by the AI model provider our privacy policy describes: to extract a staff list or a program's recruiting inbox, to check that a page is a program's staff page, to read a camp page's dates, to prepare a family for a call, and, while we build the code that reads a new kind of page, to see how that page is laid out. We never try to reach anything behind a login, and we never submit forms. From the staff page of a program a family follows, we keep the coaching staff it lists — name, role and the work email the school publishes — and the links above. From a coach's own page, we keep only the work email it prints, with that page's address as its source. From a program's staff page, or another page on the school's own website, we may keep the email address the program gives recruits for the program as a whole rather than for one coach (its recruiting inbox), with that page's address and the date we recorded it. From the staff page of a program no family follows, we keep the links, counts and dates, and today no coach entry. From a pass for recruiting questionnaires, we keep the questionnaire's link and the page it was on, or, where we found none, the date and the number of pages read.

A new kind of page we read, or a new thing we keep from a page, is added to this list in the same change that starts reading it.

How often

  • Programs a family follows. The staff page up to once a day, with our daily check, which reads a page again when its last successful read is more than 30 days old or it still needs confirming; once when the program is added to a family's list — by the family, by a coach's email to the family, or by our staff on the family's behalf; and now and then when our staff start a check by hand.
  • Programs no family follows yet. The staff page at most once a night, for the links it carries and to confirm it is the program's staff page; once a read has told us about the page, not again for 30 days. A read we could not finish or record is tried again the next day; a read that cannot confirm the page or keep what it found is tried again at most twice in a row, then not for 30 days.
  • Finding a staff page we do not have. For a program a family follows, with the daily check; for programs no family follows, together with replacing an address we found ourselves but cannot confirm, up to 20 programs a day. Each try uses the addresses athletics sites usually use, then at most one web search, and the AI model checks each page it finds.
  • Passes over our catalog. Before a launch, and from time to time, our staff may run a pass over the programs in our catalog whose staff page we have not found, at the addresses athletics sites usually use or at one our staff found, and may run it again; it keeps the staff page it finds and the coaching staff listed there. Our staff also run one-off passes over the athletics sites in our catalog, or the NCAA or NAIA directory, to refresh facts about institutions, and over the programs in our catalog for their camp pages, their recruiting questionnaires or their recruiting inboxes. Each is paced like everything here, and none is run for one family.
  • Camp and recruiting pages. A camp page only with the daily check of the programs families follow, at most 10 a day, or in a pass over our catalog; a recruiting page only with a read of a staff page of a program no family follows, at most 2 for each read, or in a pass over our catalog, at most 4 pages for each program.
  • A coach's own page. Only with the daily check of a program a family follows, for a coach whose staff page lists no email and of whom we hold none, at most 4 for each program per check.
  • Call preparation. Only when a family asks; when nothing is asked, nothing is requested.
  • Across all of it. We read a site's robots.txt before any page, sometimes a little ahead, for a site a run then does not reach, and leave at least 30 seconds between requests to the same host, as “What we commit to” says; “Where we fall short today” names the exception.

How to identify us

Our automated reader's page requests send:

Mozilla/5.0 (compatible; Throughball/1.0; roster data collection) (+https://trythroughball.com/site-owners)

What we commit to

We read and honour your robots.txt. Before we request a page from your host, we read your robots.txt and follow Disallow for the group that matches our User-Agent (or *). If there is no robots.txt (404 or 410), we take that as permission. If we cannot get a readable file, we request nothing from your host. That covers a server error, no answer, and a 401, 403, 429 or any other 4xx. The only request we make without first reading a robots.txt is the request for robots.txt itself. If your server redirects that request, we follow the redirect wherever it points, as the robots.txt standard (RFC 9309) asks — unless it points at a private or internal network address, which we do not follow — and apply the rules we find there to your site.

We space our requests. Each part of Throughball that reads your site leaves at least 30 seconds between its requests to the same host name. If your robots.txt sets a longer Crawl-delay, it leaves that long instead, once we have read it.

We identify ourselves. Every request our automated reader makes for a page on a site we do not own carries the User-Agent above, with a link to this page.

If you ask us to stop, we stop. A Disallow for our User-Agent in your robots.txt stops our page requests to your site, without contacting us. It does not stop the requests we make while reading a robots.txt file — yours, or another site's that redirects to or through your site — because that is how we read the rules. Or email hello@trythroughball.com with the host name or the specific URLs. We switch your site off in our own records, and from then on our jobs stop requesting pages from it, except as noted under “Where we fall short today”.

Separately, our team sometimes reviews a school's public athletics pages in an ordinary web browser, as any visitor would, to check and record coach and recruiting-questionnaire links and a program's recruiting inbox. Those visits are not made by our automated reader and do not carry its User-Agent; the commitments above describe the automated reader. We still skip any site that has asked us by email to stop, or that we have switched off in our own records.

Where we fall short today

Each of these is an exception to the commitments above for our automated reader. We will update this page as each one closes.

Our search provider's request. When a family's research needs a page, we first ask our search provider, Tavily, to read it. That request comes from Tavily's servers under Tavily's own identity, not ours, and we do not space it. Before asking, we check your robots.txt for our User-Agent, and our own switch, for the address we hand over, and we ask for nothing if either refuses. Tavily follows any redirect on its own side.

Records that can carry a staff member's name without being an entry

The web address of a program's camp page or questionnaire page, which some programs publish under a coach's name. The web address of a coach's own page we read a work email from, kept as that email's source in our log of catalog changes (a removal of your entry replaces it there). A record of our crawler's checks of a page: the web addresses it tried, a short note of what each page said about the school, and why any was turned down. The record our software keeps of its catalog crawler's runs: it records codes, counts, school names, site hosts, the addresses of sites' robots.txt files, our internal identifiers for catalog entries (never a name), and short notes of errors it met, with any web address in them shortened to the site's name alone — and no other text read from a page apart from therobots.txt rule that refused a request. On 21 October 2026 we shortened every page address in the earlier run records the same way; runs written before 30 September 2026 can hold the names of staff our software read from a page, and runs written before 17 October 2026 can still hold other words read from a page in a few free-text fields, which can include a staff member's name. Each run record is deleted about 14 months after it is written.

The web address of the page a program's recruiting inbox was read from. Our staff's record of each staff page, questionnaire link or recruiting inbox they record for a program, or withdraw: what they recorded, what it replaced, the page they read it on, when, and which of our staff did it. That record has no set period yet. When a removal request covers you, we clear from it your email address and, at your institution, any entry whose address or page spells your name as we hold it (a name broken up by other words in a web address may not be caught, so tell us if you see one).

Every coach our crawler adds or marks as departed, every name, role or published email address it changes, every change an accepted proposal makes, and every entry our staff add by hand is logged with its source (the changes a removal request makes to the removed person's own entry are recorded on that entry itself). Three writes are not logged: when a removal request clears a shared program address from a colleague's entry, or a program's recruiting inbox, at the same institution, that entry or program simply loses the address; when our crawler re-reads a page and refreshes the title text it recorded for an entry already matched to it, the new text replaces the old; and the review flag our crawler sets on an entry read from an unconfirmed page, or clears when a later read confirms it, is not logged.

Who sees the catalog

Families using Throughball, and, in the drafts and preparation material our software generates for them, our AI model provider. Our public demo shows, for the school a visitor picks, the head coach's name and title as on file, with no email address; its example coach reply is a template marked EXAMPLE from the program's staff, naming no person. Coach and program information is compiled from public sources and may be out of date or wrong; families may propose corrections, which we review before they change the catalog. We do not sell coach information, and we never use it to contact any coach — families send their own email. A family's first email to a program may be addressed to the program's recruiting inbox rather than to one coach, and a later email may be too, where we hold no coach's email address for that program; the family sends those emails too, from its own email or recruiting-platform account, and Throughball never sends them.

If you are listed

If you are a coach or staff member listed in our catalog, you can ask us to correct your entry, remove your email address, or remove your entry. Email legal@trythroughball.com with your name, institution and program. We act within 10 business days and remove every entry we hold for you. A removal takes you out of the catalog families see, and off the head-coach line our public demo shows for your school. Neither our automated updates nor a family's correction will add you or your address back, under your name as we hold it or a near spelling of it (a changed surname is not caught automatically, so tell us if you see one). To make that possible we keep a record of your request — your name, role, institution and program, the date you asked, our reference for it, and a one-way fingerprint (a cryptographic hash) of each removed email address — and use it for nothing else.

A removal also clears your address from any colleague's entry at your institution that carried it as a shared program address, and removes your email address from our internal log of past changes to the catalog (which also records proposed changes that were never applied); when your entry is removed, we replace your name in that log with an internal reference wherever it names your entry or your name as we hold it (our staff review any entry under a near spelling), and the log keeps what changed and when. We also remove the camp-page and questionnaire-page links we recorded from your institution's staff page that contain your name (a camp on our shared camp calendar can keep, in our records, a registration link that carries your name, but we do not show it), close any camp suggestion still waiting for review that we drew from a camp page naming you and clear your name from it (a suggestion drawn from a family's own email, or a camp already accepted onto the calendar, is not changed by that step, and a suggestion that names you at another institution, or whose stored address we cannot read, is set aside for our staff to settle by hand), and take your name out of the run records written before 30 September 2026 and any other trace of your name we find in our run records. A program's recruiting inbox at your institution that is an address you held, or that spells your name as we hold it in the address or in the page we read it on, is cleared with that page, and its fingerprint joins the record above.

A removal does not change a family's own record of messages it has already exchanged with you. Throughball never emails coaches or programs; families write from their own accounts, to a coach or to a program's recruiting inbox. If you represent an institution and want your site excluded, “If you ask us to stop, we stop” above says how.

Anything else, such as a page we misread, a correction, or a question about what we stored: hello@trythroughball.com.

← Back to home