Privacy-first web scraping
Your scraping targets are your business
When you use a scraping API, the provider sits between your application and the sites you're researching. ScrAPI is built to avoid turning that traffic into a dataset about what its customers are scraping.
That doesn't mean ScrAPI is anonymous, and it doesn't mean nothing is ever processed. A scraping API has to handle the URL you send it to make the request. The distinction that matters is between processing a request and keeping a permanent record of it. This page explains exactly where that line sits.
Account data
Stored where required
To run billing, authentication, and support.
Usage totals
Measured as counters
Credits, feature flags, success/failure counts.
Scrape targets
Not retained*
No database record of the URLs you request.
Scraped content
Not retained
HTML and Markdown output are not stored or cached.
* Ecommerce monitoring is the exception. See feature-specific exceptions below.
What ScrAPI needs to process
Processing isn't the same as keeping
ScrAPI has to handle the following to run a request at all. None of it is hidden from you. It's the same information you sent.
- The target URL, so ScrAPI can make the request on your behalf.
- Request options you send: browser rendering, proxy type, geotargeting, browser commands, response format.
- Your API key, to authenticate the request and meter credits.
- A session ID, if you send one, to reuse the same IP and cookies across a sequence of requests.
- The response ScrAPI gets back from the target site, so it can be returned to you.
What ScrAPI does not retain
No database of your scrape targets or content
This is the main point of this page. ScrAPI doesn't maintain a searchable history of the pages you've scraped through ordinary API requests.
No database record of scrape targets
The account record tied to your API key stores a credit balance and boolean feature flags (did this key use a browser, a residential proxy, a screenshot), not a list of URLs you've requested.
No stored copies of scraped content
HTML and Markdown output are generated per request and returned to you. ScrAPI does not cache or retain a copy in its database, and responses aren't served from a shared cache between customers.
No searchable scrape history
There's no dashboard or export where a target URL, request body, or response can be looked up after the fact through ordinary API use. Usage is visible only as the aggregate counters described below.
What ScrAPI does retain
Being transparent about the rest
Running an account and a paid API means some information has to stick around. Here's what that is, and why.
Account details
Whatever you provide at signup, to identify your account and communicate with you.
Billing and subscription state
Plan, payment status, and invoice history, to run the subscription itself.
Credit balance
The number that determines whether a request can run and what it costs.
Aggregate usage counters
Per-key counts such as successful and failed requests, and which optional features (browser rendering, proxy type, captcha solving) have been used. These are counters, not a list of what was scraped.
Aggregate usage, not a browsing history
How ScrAPI measures the service without watching what you scrape
ScrAPI can track things like request counts, credits spent, success and failure rates, and response times, because those are aggregate numbers attached to your API key, not to any individual target. That's enough to run and improve the service without building a record of the specific pages you've requested.
Feature-specific exceptions
Where some state necessarily persists
Not every feature behaves like the default synchronous scrape API. Where a feature needs to hold onto more, here's exactly what and for how long.
Sessions
A session ID lets a sequence of requests reuse the same IP and cookies, so you're not solving the same captcha or re-authenticating on every call. That state is cached only for a short window and expires automatically once the session goes idle.
Async jobs and callbacks
When you set a callbackUrl, ScrAPI holds the request and its result only long enough to run the job and deliver it to your endpoint, then discards it. There's no separate job history to browse afterward.
Screenshots, PDFs, and video
These are written to storage under a randomized filename, not the target URL, and are permanently deleted on a fixed schedule within 24 hours of being generated.
Ecommerce monitoring
This is the deliberate exception. Monitoring a product page means checking it on a recurring schedule, so the monitor necessarily stores the URL you configured, along with the price/stock values extracted on each check, for as long as that monitor exists. This is a different, opt-in feature from the ordinary scrape API, and it's the only place ScrAPI keeps a standing record of a target URL.
Why this matters
What customers use this for
None of this implies the activity itself is secret or improper. It's that the targets a customer researches can reveal commercially sensitive intent, and a third-party provider shouldn't unnecessarily build a historical dataset of that activity. Common cases:
- Competitive price or catalog research
- Market intelligence and supplier research
- Due diligence on a company or a market
- Proprietary data collection for your own product
- AI or RAG ingestion pipelines
- Internal automation that touches sites you'd rather not advertise
Privacy, not anonymity
ScrAPI requires an account and an API key to make requests. Usage isn't anonymous or untraceable. Privacy here means minimizing how much of your scraping activity is retained, not promising that ScrAPI can't identify who made a request.
Security basics
API traffic runs over encrypted HTTPS, and every request is authenticated with your API key. See the Privacy Policy for how account data itself is handled.
Test your own workload with 1,000 free credits
Run your own URLs in the Playground, or sign in and get an API key. No card required.
This page describes ScrAPI's product behavior. For the legal terms governing your account, read the Privacy Policy.