# Compare SaaS Competitor Homepages Side by Side

**Use case:** 

Capture full-page PNG screenshots of SaaS homepages in one run for product positioning research. Each dataset record includes the submitted URL, final URL, screenshot link, format, status, and capture timestamp. Set urls to the homepages you want to compare and adjust viewportWidth or waitUntil for the captures.

## Input

```json
{
  "urls": [
    {
      "url": "https://www.apify.com/"
    },
    {
      "url": "https://www.wikipedia.org"
    }
  ],
  "format": "png",
  "quality": 85,
  "fullPage": true,
  "device": "custom",
  "viewportWidth": 1920,
  "viewportHeight": 1080,
  "deviceScaleFactor": 1,
  "colorScheme": "no-preference",
  "locale": "en-US",
  "waitUntil": "networkidle",
  "waitForImages": false,
  "waitForFonts": true,
  "delay": 0,
  "scrollToBottom": false,
  "maxScrollSteps": 400,
  "scrollStepPx": 250,
  "delayAfterScrolling": 0,
  "waitUntilNetworkIdleAfterScroll": false,
  "waitUntilNetworkIdleAfterScrollTimeout": 1000,
  "hideFixedElements": false,
  "cookieBannerAction": "hide",
  "pdfPageSize": "web",
  "pdfLandscape": false,
  "pdfPrintBackground": true,
  "pdfFitOnePage": false,
  "pdfMargin": "none",
  "maxConcurrency": 1,
  "maxRetries": 0,
  "navigationTimeoutSecs": 60,
  "maxPageHeight": 0
}
```

## Output

```json
{
  "startUrl": {
    "label": "Input URL",
    "format": "link"
  },
  "url": {
    "label": "Final URL",
    "format": "link"
  },
  "pageTitle": {
    "label": "Page title",
    "format": "text"
  },
  "status": {
    "label": "Status",
    "format": "text"
  },
  "httpStatus": {
    "label": "HTTP",
    "format": "number"
  },
  "blocked": {
    "label": "Blocked",
    "format": "text"
  },
  "format": {
    "label": "Format",
    "format": "text"
  },
  "imageWidth": {
    "label": "Width",
    "format": "number"
  },
  "imageHeight": {
    "label": "Height",
    "format": "number"
  },
  "fileSizeBytes": {
    "label": "Bytes",
    "format": "number"
  },
  "screenshotUrl": {
    "label": "Screenshot",
    "format": "link"
  },
  "timestamp": {
    "label": "Timestamp",
    "format": "text"
  }
}
```

## How it works

### 1. Sign up on Apify or log in

The Complete Page Capture - Screenshot & PDF Actor is ready to run with the inputs already set for "Compare SaaS Competitor Homepages Side by Side". [Sign up or log in](https://console.apify.com/create-task-from-example/aAkXjmpORPJ8qG6mC) and you'll land in Apify Console with a copy of this exact task.

### 2. Start the "Compare SaaS Competitor Homepages Side by Side" task

The Complete Page Capture - Screenshot & PDF Actor will start running based on the input automatically. You can also change all the input fields, like URLs to capture, output format, and more, to match your specific use case.

### 3. Receive the "Compare SaaS Competitor Homepages Side by Side" output

Monitor the progress in real time. You will be notified as soon as your dataset is complete and ready for review. Each result includes data such as input url, final url, page title, and more.

### 4. Integrate into your workflow

The final output is delivered in JSON, CSV, or Excel format, ready to be plugged into your workflow. You can also [run the "Compare SaaS Competitor Homepages Side by Side" task via API](https://apify.com/nimbryxo-studio/full-page-website-screenshot-and-pdf-capture.md).

## FAQ

### How can I compare SaaS company homepages side by side?

The SaaS homepage comparison task captures a full-page PNG for each URL you provide, so you can compare the resulting images. Add the homepages you want to inspect to the URL list.

### What does the website screenshot data include?

Each record from the SaaS homepage comparison task includes the submitted startUrl, final URL after redirects, screenshotUrl, format, status, and timestamp.

### Can I save homepage screenshots as a PDF?

The SaaS homepage comparison task supports PNG screenshots and printable PDFs. Choose the format that suits how you want to review or save each capture.

### Can I export the screenshot results to CSV or Excel?

Results from the SaaS homepage comparison task land in a dataset that you can download as CSV, Excel, JSON, XML, RSS, or an HTML table, or read through the Apify API.

### How do I change the screenshot width or page-load wait?

For the SaaS homepage comparison task, set the viewport width in pixels and choose whether to wait for load, domcontentloaded, or networkidle before capture. The viewport width range is 100–3840 pixels, and height is fixed at 1080px.

### How many homepages can I capture in one run?

The SaaS homepage comparison task accepts a list of URLs and produces a record for each URL, but the provided sources do not specify a maximum list size.

### Can I run homepage captures on a schedule or through an API?

You can run the SaaS homepage comparison task on an Apify Schedule, through the Apify API, or with integrations such as Zapier, Make, and n8n.

### Is it legal to capture SaaS company homepages?

Whether using the SaaS homepage comparison task is lawful depends on your purpose, each site's terms, and data-protection laws such as GDPR or CCPA. You are responsible for checking those requirements.

## About this Actor

This example demonstrates how to use [Complete Page Capture - Screenshot & PDF](https://apify.com/nimbryxo-studio/full-page-website-screenshot-and-pdf-capture.md) with a specific input configuration. Visit the [Actor detail page](https://apify.com/nimbryxo-studio/full-page-website-screenshot-and-pdf-capture.md) to learn more, explore other use cases, and run it yourself.


## How to integrate an Actor?

This Task's input is already configured above. Use it as-is rather than inventing a new one.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For full API examples (JavaScript, Python, CLI, MCP, OpenAPI), see this Task's Actor page: https://apify.com/nimbryxo-studio/full-page-website-screenshot-and-pdf-capture.md

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).
