# Salesforce - Scrape.do Integration > Source: https://scrape.do/documentation/integrations/salesforce/ Step-by-step guide to integrate Scrape.do with Salesforce and save scraped pages as CRM records Scrape.do integrates with Salesforce through a free, installable package. It adds a Screen Flow where you paste a list of URLs, fetches each page through Scrape.do, and saves every result as a **Scraped Page** record, with no Apex to write. You need a Scrape.do API token and a Salesforce org where you can install unmanaged packages (a free Developer Edition org works). ## 1. Install the Package While logged into your Salesforce org, open the **[Scrape.do Web Scraper package install link](https://login.salesforce.com/packaging/installPackage.apexp?p0=04tfj000000KT13)**. - Choose **Install for All Users** so anyone in your org can run the flow. - When prompted to approve third-party access to `api.scrape.do`, check the box. The package ships with the required Remote Site Setting. - Click **Install** and wait for the confirmation screen. ## 2. Add Your API Token The package ships without a token, so requests run on your own account. - Go to **Setup → Custom Metadata Types**. - Next to **Scrape Do Settings**, click **Manage Records**, then **New**. - Set **Label** to `Default` and paste your Scrape.do token from your [dashboard](https://dashboard.scrape.do) into **API Token**. - Click **Save**. The record must be named `Default`, because that's the name the flow looks for. Without it, the flow tells you no token is configured. ## 3. Run the Scraper Open **Setup → Flows** and click **Scrape do Bulk Scraper**. You can also add it to any page, app or button, since it's a standard Screen Flow. Paste your URLs, one per line, and click **Next**: ``` https://books.toscrape.com https://example.com/product/123 https://news.ycombinator.com ``` The flow fetches each URL through Scrape.do and shows a summary with the status and status code of every page: ``` 3 page(s) scraped and saved. OK [200] https://books.toscrape.com OK [200] https://example.com/product/123 OK [200] https://news.ycombinator.com ``` > If you're unable to get a response, visit the [playground](https://dashboard.scrape.do/playground) and experiment with parameters like **Super**, **Render JavaScript**, and **Block Resources** until you get a successful response. ## 4. Use the Scraped Data Each page is now a record under the **Scraped Page** object with these fields: - **Source URL** - the page that was requested - **Status** - `OK`, `FAIL`, or `ERROR` - **Status Code** - the HTTP code returned - **Content** - the full page content (HTML or JSON) Build reports and list views on it, export it to CSV, or trigger a follow-up flow when new pages arrive. To change the request, edit the endpoint in the package's Apex action: add `&render=true` for JavaScript-heavy sites or `&geoCode=us` to fetch the page from a specific country. Full tutorial with every step: [Web Scraper for Salesforce: The Ultimate Plug-and-Play Template (No Code Required)](/blog/salesforce-web-scraper/)