Building a AI-Powered Web Scraper to Help International Students Find Visa Sponsors | 80 Days 2 Stay
This progress update shows an asynchronous scraper pulling careers pages from 20,000+ funded startups, feeding an LLM analysis to find visa-sponsoring employers.
Finding a company willing to sponsor a work visa is one of the hardest parts of an international student's job search, largely because that information isn't published anywhere in a searchable form. This progress update walks through a system built to solve that problem directly: an asynchronous scraper pulling data from thousands of company websites, feeding a pipeline that will eventually use language models to answer the exact questions a job-seeking student actually needs answered.
Starting from SEC Form D data
The project, part of the 80 Days to Stay initiative at Humanitarians AI, starts from a list of company URLs confirmed to exist, drawn from SEC Form D filings, a dataset of over 20,000 funded startups. The scraper works through each URL and grabs whatever relevant pages it can find: careers pages, about-us pages, internship listings, customer and partner pages, clinical trials or solutions pages, and contact information. The goal at this stage isn't deep analysis, it's simply pulling in as much raw material as possible from each site quickly.
Why asynchronous matters here
The scraper runs 50 requests in parallel rather than working through the list of 20,000+ companies one at a time. That's the difference between a job that finishes in hours and one that would take days running sequentially. Not every site yields useful data on the first pass; some don't return much of anything, and the plan is to circle back to those 10,000 to 20,000 sites later and see what can be recovered with a second, more targeted attempt. The priority for the first pass is speed and coverage: get a usable list of companies into people's hands quickly, then come back and clean up the gaps.
What happens after the scrape
Once the raw pages are collected, the next stage combines the SEC filing data with whatever page content was captured, strips out extraneous HTML, and hands the combined text to a language model. The model is asked a small set of specific questions about each company: What does this company do? Are they likely to hire international students, and why? Are they likely to hire recent graduates, and why? The model is given guidance on how to evaluate a company's page the way a human reviewer would, essentially acting as a stand-in for a person manually reading through thousands of company sites, a task that would be impractical to do by hand at this scale.
The reasoning matters as much as the answer
A key detail here is that the system isn't just producing a yes-or-no label for each company. It's asked to provide reasoning: why it believes a company is or isn't likely to hire international students or recent graduates. That reasoning is what turns a raw classification into something a student can actually evaluate and trust, rather than a black-box score with no explanation behind it.
Timeline and goal
The stated target is delivering a list of 5,000 to 15,000 qualified prospects, companies with strong evidence they've hired international students and strong evidence they've hired recent graduates, by the middle of the following week. The scraping stage alone is expected to run for several hours, potentially up to ten, given the number of domains being processed asynchronously.
Key takeaways
- The scraper starts from SEC Form D data, a public record of company funding, to build a target list of over 20,000 startups.
- Running 50 requests in parallel is what makes scraping tens of thousands of sites feasible in a reasonable timeframe.
- The plan explicitly favors an imperfect first pass covering the most companies over a slower, complete pass, with cleanup planned as a second phase.
- A language model is used to answer specific, practical questions about each company (does it hire international students, does it hire recent graduates) rather than just summarizing the page.
- The system asks for reasoning behind each answer, not just a classification, so the output can be evaluated rather than blindly trusted.
Who this is for
This project is built for international students navigating the work visa sponsorship process, and this update is useful for anyone interested in how automation and language models can be applied to a concrete social-good problem. It's part of the 80 Days to Stay initiative at Humanitarians AI, developed alongside the organization's Botspeak AI Fluency Framework.
Full transcript(auto-generated, with timestamps)
[0:00]Okay, so the scraper bot, it's taking the the URLs which confirm that there's a like something there at that URL and it's just going grabbing a few pages. Uh, a lot of the pages just quickly going through of it have like careers um you know what they do about them da da. So uh it looks good. Uh I forget what how many we had there 20 something thousand whatever I don't remember exactly uh but you know they have an internship page I just saw about us um you know etc etc customers partners yada yada yada uh clinical trials solutions contact us all those kinds of
[0:52]Things so karate what this is doing is it's just like the other one. It's asynchronous. So, it runs 50 in parallel and it's just grabbing whatever it can. Um, looks like some of them it's not really grabbing anything from. I'll check those. But at this point, I'm going to try to get what I can easily. So, I want to get things to people quickly. Oh, here's a careers page. Um, get things to people quickly. And then I'll go back and clean up the 10 or 20,000 that we sort of didn't get and see what we can get from that. But I think I'd like to get a list of five or
[1:34]10,000 in people's hands as quickly as possible. So I'm going to sort of take one pass all the way through and get I don't know a list of 5,000 10,000 15,000 20,000 companies. Again, the next step is we take all of this information we get here. We combine it. We remove the extraneous XTML. And then we uh put as much information we have both from the SEC and from these pages. And we basically ask a language model a few questions like what does this company do? [snorts] Uh are they likely to hire international student and why? Are they likely to hire um recent graduates and why? And we'll
[2:18]Give them some guidance on what to look at or the way I would look at a page. We're going to have that sort of the language model act like me. Sort of if I were to look at a website, how would I as a human being evaluate what they do? Um, but we're going to do it with a language model because, you know, we're going to run this against 15 20,000 things. Um, and so right now it's just literally a saving the pages. So, uh, my guess is this will take couple hours, four hours, 10 hours, whatever. Even if it takes, you know, 10 hours, I probably,
[2:54]You know, not as much of this as I'm going to do today. I'll just get back to it um tomorrow. Um and the reason why you see different domains is it's working asynchronously. So, you know, up up and just hitting them down. Um and and so you know what we'll do is we'll just sort of evaluate them and we'll have a language model go through all this text and sort of act as like a you know a human being reading it. What does this company do? Uh are they likely or have they um hired international? Are they likely or have they hired recent graduates? And give us our your
[3:39]Reasoning for that. Why? Why do you think that's true? And then um yeah, so uh my guess is mid next week, Tuesday, Wednesday, we should have I don't know 5 10 15,000 um prospects for people. Uh prospects meaning strong evidence they've hired international, strong evidence that they hire recent graduates. Okay. So, this is probably going to run for a while, so I'm just going to let it go. Okay. Take care.
More from 80 Days to Stay
2:19LLMs Are Like Puppies: They'll Always Fetch, But Sometimes The Wrong Thing | 80 Days to Stay
3:00From 500,000 URLs to Real Jobs: Inside the 80 Days to Stay Engine
7:31Why LinkedIn Failed Us: Building a Real Database for International Student Hiring (80 Days to Stay)
10:53Building a Visa Sponsorship Database from SEC Data | 80 Days to Stay Project
14:1880 Days to Stay
2:08