We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

Build a Web Scraper in TypeScript

Build a web scraper from scratch in TypeScript. It's an SEO analytics tool that reports on the internal linking profile of any website.

Also available in:

gopython

What will you learn?

Use TypeScript to build a web crawler that scrapes pages. It's a tool that any SEO expert would be happy to have. You'll make HTTP requests and parse HTML to generate reports that can easily marshaled to standard output or a file. If you're interested in getting a job using Node.js, this project will teach you how Node can be used to build a command-line application.

Chapter List

1
Setup
Get started with web scraping by setting up your TypeScript environment and building essential functions to normalize URLs and extract links from HTML content.
2
Crawling
3
Concurrency
Learn to speed up your web crawler using async/await and concurrency, crawling multiple pages simultaneously while respecting configurable limits.
4
Reporting
Learn to analyze and export your web scraping results with custom reporting tools that generate both human-readable summaries and JSON datasets for further analysis.

Join 907 students in the Build a Web Scraper in TypeScript course

Read reviews of their learning experiences

Great lesson, super clear.

(4/5)
han jiwoong  profile image

han jiwoong

Jeju, KR 대한민국, 제주특별자치도

This lesson exceeded my expectations. I went in thinking I knew the basics, but the deeper dives into trade-offs and edge cases were exactly what I needed. The instructor didn’t just show ‘happy path’ solutions: they demonstrated how to think about failure modes, performance bottlenecks, and future extensibility. The capstone project, while optional, gave me the perfect sandbox to experiment and get feedback.

(5/5)
Brandon Jaus profile image

Brandon Jaus

Fort Worth, TX

The real-world context made the concepts click for me.

(3/5)
Prashant Dwivedi profile image

Prashant Dwivedi

Navi Mumbai

Appreciated the tips on common pitfalls and debugging.

(5/5)
Don Noska profile image

Don Noska

Denton, Texas

Great lesson, super clear.

(4/5)
Connor Teague profile image

Connor Teague

Fort Worth, TX

Could use more exercises, but solid overall.

(4/5)
Thien Nguyen profile image

Thien Nguyen

Vietnam

Great lesson, super clear.

(4/5)
Sergey  profile image

Sergey

Moscow, Russia

I appreciated how the instructor broke down the core concepts into digestible steps. The examples were practical and mirrored what I encounter in my day-to-day work. In particular, the section on error handling and observability tied everything together. If I had a minor nitpick, it would be that the pacing sped up in the last module, but the accompanying notes and code samples made it easy to revisit and cement the ideas.

(5/5)
Innocent Chukwuemeka profile image

Innocent Chukwuemeka

Nigeria

I appreciated how the instructor broke down the core concepts into digestible steps. The examples were practical and mirrored what I encounter in my day-to-day work. In particular, the section on error handling and observability tied everything together. If I had a minor nitpick, it would be that the pacing sped up in the last module, but the accompanying notes and code samples made it easy to revisit and cement the ideas.

(4/5)
Mike Unruh profile image

Mike Unruh

Munich

Showing 1-9 of 10

or view more reviews

Mediocrity doesn't cut it anymore

The only way to become a great developer is to write a lot of code

Avoid tutorial hell

by writing a ton of code

Stay motivated with

a game-like curriculum

Build portfolio projects

to prove your skills

Delve deeper

into foundational concepts

Learn flexibly online

without interrupting your life

For 1% the price of college

to minimize your financial risk

Frequently asked Questions

Got questions? We've got answers

Yes! It's free to create an account and start learning. You'll get all the immersive and interactive features for free for a few chapters. After that, if you still haven't paid for a membership, you'll be in read-only (content only) mode.