Introduction
Send your first ScrapeDrive request and choose the right options
ScrapeDrive
ScrapeDrive fetches one URL and returns the page content you asked for. A request uses a fast HTML fetch by default. Turn on JavaScript rendering only when the page needs a browser to reveal its content.
Your first scrape
The synchronous endpoint returns the result in the same request:
curl --get "https://sync.scrapedrive.com/api/v1/scrape" \
--data-urlencode "api_key=YOUR_KEY" \
--data-urlencode "url=https://example.com"You can also make the same request directly from a browser:
https://sync.scrapedrive.com/api/v1/scrape?api_key=YOUR_KEY&url=https://example.comFor simple target URLs, you can leave https:// readable like this. If the
target itself contains query parameters or a fragment, let your HTTP client
encode the url value so characters such as & and # are not interpreted as
part of the ScrapeDrive request.
Or send a JSON body:
curl "https://sync.scrapedrive.com/api/v1/scrape" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"api_key": "YOUR_KEY",
"url": "https://example.com"
}'On success, the synchronous response is the scraped body itself, with the
target's safe response headers replayed. There is no ScrapeDrive JSON envelope
around the page. Failed scrapes return JSON by default; Sync requests can opt
into a target response with transparent_mode=true when one exists.
Keep your API key secret. Do not expose it in browser-side application code, public repositories, logs, or screenshots.
Authentication
Send your key as api_key in either the query string or request body. New keys
are URL-safe and do not contain a separator. Legacy keys with an id| prefix
continue to work.
Get your key from the ScrapeDrive dashboard.
Choose the output
result_type controls the returned content:
| Value | Result |
|---|---|
html | Raw page source. This is the default. |
page_text | Visible text without HTML markup. |
page_markdown | Page content converted to clean Markdown. |
curl --get "https://sync.scrapedrive.com/api/v1/scrape" \
--data-urlencode "api_key=YOUR_KEY" \
--data-urlencode "url=https://example.com" \
--data-urlencode "result_type=page_markdown"Load JavaScript when the page needs it
JavaScript rendering is off by default. For SPAs, client-rendered product
lists, and other dynamic pages, set render_js=true:
curl --get "https://sync.scrapedrive.com/api/v1/scrape" \
--data-urlencode "api_key=YOUR_KEY" \
--data-urlencode "url=https://example.com/app" \
--data-urlencode "render_js=true"Controls such as navigation waits, resource blocking, and ad blocking become relevant when JavaScript rendering is enabled. ScrapeDrive chooses the browser engine automatically. Screenshots require a browser-compatible result.
Choose a proxy network
Datacenter proxies are used by default. Choose Residential when the page varies by country or restricts datacenter traffic:
| Proxy network | Best for | Base job cost |
|---|---|---|
datacenter | Fast, cost-efficient access to most public pages. | 5 credits |
residential | Country targeting and pages sensitive to datacenter traffic. | 10 credits |
JavaScript rendering adds 5 credits. ScrapeDrive chooses the browser engine automatically, so there is no browser parameter to configure. Every screenshot option adds another 5 credits.
See Credits and limits for the complete calculation.
Let Auto mode adapt after a failure
Set auto=true with a required max_credits ceiling when you want ScrapeDrive
to start with the least expensive compatible settings and progress only when an
attempt fails:
curl --get "https://sync.scrapedrive.com/api/v1/scrape" \
--data-urlencode "api_key=YOUR_KEY" \
--data-urlencode "url=https://example.com" \
--data-urlencode "auto=true" \
--data-urlencode "max_credits=20"Auto manages HTTP-versus-browser selection, proxy routing, location, and attempt
identity. Do not combine it with render_js, proxy_pool, proxy_country,
custom_proxy, or session_number. Screenshots and browser waits remain fixed
requirements. The maximum reachable configuration price is reserved before
execution, but you are charged only once for the configuration that succeeds
and never above max_credits.
Take a screenshot
Choose the viewport, full page, or one element:
curl --get "https://sync.scrapedrive.com/api/v1/scrape" \
--data-urlencode "api_key=YOUR_KEY" \
--data-urlencode "url=https://example.com" \
--data-urlencode "screenshot=true"The screenshot URL comes back in the x-sdrive-screenshot-url response header
(for an Async job, inside response.headers of the polled result). ScrapeDrive
automatically enables JavaScript rendering and loads visual resources so the
image can be captured.
Next steps
- Sync vs Async — Choose how the result is delivered.
- Advanced options — Configure waits, routing, headers, screenshots, and webhooks.
- Credits and limits — Calculate cost and understand account limits.
- API reference — Review every public parameter and automatic behavior.