Skip to main content

GET esm.sh HTTP 200192 ms23.5 KB$0.000113 captured Aug 7, 2026

esm.sh, as data

One API turns any esm.sh page into markdown, structured JSON, its link graph or a screenshot, and crawls the whole site the same way. The panel shows the real response we captured.

target profile from the capture
Render mode
Plain HTTP, no browser needed
Response
HTTP 200 in 192 ms
Page size
23.5 KB of markdown, 395 lines
Fields
Title, Content, Date, Source and 1 more
Captured
Aug 7, 2026

Free balance on signup, no card. This esm.sh page cost $0.000113 to fetch.

response 200 · 192 ms · 23.5 KB
## **Fast**You can also alias dependencies by adding `?alias=PACKAGE:ALIAS` to the import URL. This is useful when you want to use a different package for a dependency.`import useSWR from "https://esm.sh/swr?alias=react:preact/compat";`import useSWR from "https://esm.sh/swr?alias=react:preact/compat&deps=preact@10.5.14";### Bundling StrategyBy default, esm.sh bundles sub-modules of a package that are not shared by entry modules defined in the `exports` field of `package.json`.Bundling sub-modules can reduce the number of network requests, improving performance. However, it may result in repeated bundling of shared modules. In extreme cases, this can break package side effects or alter the `import.meta.url` semantics. To prevent this, you can disable the default bundling behavior by adding `?bundle=false`:`import "https://esm.sh/svelte?bundle=false";For package authors, it is recommended to define the `exports` field in `package.json`. This specifies the entry modules of the package, allowing esm.sh to accurately analyze the dependency tree and bundle the modules without duplication.Or you can override the bundling strategy by adding the `esm.sh` field to your `package.json`:"bundle": false // disables the default bundling behaviorYou can also add the `?standalone` flag to bundle the module along with all its external dependencies (excluding those in `peerDependencies`) into a single JavaScript file.`import { Button } from "https://esm.sh/antd?standalone";You can disable the default transforming/bundling behavior by adding `?raw` query to the import URL.`import { render } from "https://esm.sh/preact?raw";`> query is useful when you want to import the raw JavaScript source code of a package, as-is, without transformation into ES modules.### Tree ShakingBy default, esm.sh exports a module with all its exported members. However, if you want to import only a specific set of
POST /scrape · esm.sh/index.md · markdown · Showing 18 of 395 lines · captured Aug 7, 2026

What Spider does on esm.sh

Same key, five endpoints. The numbers under a cell were measured on this page.

/scrape

Page to markdown

Clean text for RAG and LLM context, boilerplate removed. The lane that runs without a key.

192 ms · $0.000113
/fetch

Page to JSON

Spider reads the page and names the fields. Pass your own schema when you need exact keys.

/crawl

Whole site

Follows esm.sh's own links, respects robots, streams pages as they land.

/links

Link graph

Every internal and external URL on a page, before you decide what to fetch.

/screenshot

Rendered capture

Real Chromium, full-page PNG. The same call also returns the rendered HTML.

The call behind the panel

This request produced the response above. Paste it with your key and you get the same bytes.

request scrape.sh
curl -X POST https://api.spider.cloud/scrape \
  -H "Authorization: Bearer $SPIDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://esm.sh/", "return_format": "markdown"}'
plain request · no browser, no selectors

What esm.sh costs

Multiplied from the measured 23.5 KB page. Estimates round to the cent.

cost measured
This page, once 23.5 KB over HTTP, measured $0.000113
This page, daily for a month 30 fetches at the measured price ≈ $0.003403
1,000 pages this size 22.9 MB at the measured price ≈ $0.11
10,000 pages this size 229.0 MB at the measured price ≈ $1.13

1 GB of transfer costs $1, plus $0.001 per CPU minute, and failed requests cost $0. Crawling daily? The Unlimited plan is a flat monthly rate.

Point this at the rest of esm.sh.

The capture above took 192 ms and cost $0.000113. The same call takes any URL on esm.sh.

Get an API key

More in International

All International scrapers