Scraping sites that have no API

A page that renders in a browser can be extracted. The work is making it reliable.

ERR_NO_API_FOUND · 2026-10-14

Most useful lead data lives on pages with no API: maps, directories, job boards, team pages. A browser can load them, so a script can too. The difficulty is making that repeatable.

Read the page first

Start by turning one known URL into clean Markdown with PageLode, a local CLI for extraction, endpoint discovery and email finding. If the data you want is in that text, you may not need a browser script at all.

pagelode extract https://example.com/directory
pagelode --json https://example.com/directory   # full extraction metadata

Find the endpoint behind the page

Many pages are thin shells that load their data from a JSON endpoint. Discovery loads the page once, records the requests, and groups them into endpoints with observed schemas, authentication signals and pagination candidates.

pagelode discover --wait-ms 3000 https://example.com/listings
pagelode discover --har capture.har   # analyze a recorded session offline

Treat the output as a lead, not a guarantee. Schemas and pagination are inferred from samples, and whether an endpoint can be replayed still has to be tested.

Pages behind a login

Some of the best data sits behind a sign-in. A saved browser profile lets a crawl reuse a session that a person logged into once, including MFA.

pagelode profile login account https://example.com/login
pagelode discover --profile account https://example.com/directory

Profiles and HAR files are session data. Keep them outside the repository and never print cookies.

Published emails

For contact data, crawl the site’s own contact, team and directory pages with explicit limits on pages, addresses and time.

pagelode emails --max-pages 10 --max-emails 50 --max-duration 15s example.com

Results are syntax-checked, not verified for deliverability. An empty result means nothing was found within the crawl’s coverage, not that no address exists.

Make it a pipeline