> ## Documentation Index
> Fetch the complete documentation index at: https://docs.olostep.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Olostep + Relay

> Add web scraping, AI-powered research, batch jobs, crawls, and site maps to any Relay workflow, no code required.

The verified [Olostep app on Relay](https://www.relay.app/apps/olostep/integrations) gives you two actions inside Relay's visual builder: scrape a URL or map all links on a site.

[View on Relay →](https://www.relay.app/apps/olostep/integrations)

## Before you start

* **An Olostep account with an API key:** [get one free](https://olostep.com/dashboard), no credit card required. Your first 500 credits are included.
* **A Relay account:** create one at [relay.app](https://www.relay.app/).
* **No coding required:** everything in this guide is done through Relay's visual editor.

***

## Setup

<Steps>
  <Step title="Find Olostep in Relay">
    Open a workflow in Relay, add a step, and search for **Olostep**. Select **Olostep** from the app list.

    <img src="https://mintcdn.com/olostep-58/tsUnZlbBbWyR_k2J/images/integrations/relay/step-1.png?fit=max&auto=format&n=tsUnZlbBbWyR_k2J&q=85&s=98c07d083f24985138bf78929bf4c220" alt="Placeholder: Search for Olostep in Relay app picker" width="617" height="482" data-path="images/integrations/relay/step-1.png" />
  </Step>

  <Step title="Choose an action">
    After selecting **Olostep**, choose one of the available Olostep actions in the step configuration.

    <img src="https://mintcdn.com/olostep-58/tsUnZlbBbWyR_k2J/images/integrations/relay/step-2.png?fit=max&auto=format&n=tsUnZlbBbWyR_k2J&q=85&s=df1d4f84146bf53ade6d31e589e9e134" alt="Placeholder: Olostep action selector in Relay" width="617" height="482" data-path="images/integrations/relay/step-2.png" />
  </Step>

  <Step title="Connect your account">
    Click **Connect account**, paste your Olostep API key, and authorize the connection. Relay will save this account for future workflows.

    <img src="https://mintcdn.com/olostep-58/tsUnZlbBbWyR_k2J/images/integrations/relay/step-3.png?fit=max&auto=format&n=tsUnZlbBbWyR_k2J&q=85&s=9ab8cd9c18efac7b872c966dba7af73d" alt="Placeholder: Relay account connection modal with Olostep API key field" width="896" height="680" data-path="images/integrations/relay/step-3.png" />

    Get your key from the [Olostep dashboard →](https://olostep.com/dashboard)
  </Step>

  <Step title="Configure Scrape Website (URL + format)">
    * **URL to Scrape:** map from a previous step or enter manually
    * **Output Format:** choose `Markdown`, `HTML`, `JSON`, or `Text`

          <img src="https://mintcdn.com/olostep-58/tsUnZlbBbWyR_k2J/images/integrations/relay/step-4.png?fit=max&auto=format&n=tsUnZlbBbWyR_k2J&q=85&s=13fc76ca9d8d65219d578e9f1f37ee6f" alt="Placeholder: Relay Olostep Scrape Website fields with URL and output format" width="896" height="680" data-path="images/integrations/relay/step-4.png" />
  </Step>

  <Step title="Test and publish">
    Run a test to verify output, then publish or turn on the workflow once results look correct.

    <img src="https://mintcdn.com/olostep-58/tsUnZlbBbWyR_k2J/images/integrations/relay/step-5.png?fit=max&auto=format&n=tsUnZlbBbWyR_k2J&q=85&s=1914937ac1104aed2577e6f97cd12ba8" alt="Placeholder: Relay test output and publish flow" width="886" height="571" data-path="images/integrations/relay/step-5.png" />
  </Step>
</Steps>

***

## Actions

<CardGroup cols={2}>
  <Card title="Scrape Website" icon="file-lines">
    Pull content from any URL as Markdown, HTML, JSON, or plain text. Handles JS-rendered pages with optional wait times and country targeting.
  </Card>

  <Card title="Create Map" icon="map">
    Get every URL on a site without scraping content. Use it for discovery before a batch job. Returns a `map_id`.
  </Card>
</CardGroup>

<Note>
  **Map is async.** Store the returned `map_id` and use a delay/poll pattern in Relay to retrieve results once processing completes.
</Note>

***

## Example workflow: Scheduled competitor page scrape

**What it does:** On a schedule, this workflow scrapes a competitor page and stores clean content you can reuse in downstream Relay steps.

**Nodes used:** Schedule -> Olostep Scrape Website

<img src="https://mintcdn.com/olostep-58/tsUnZlbBbWyR_k2J/images/integrations/relay/workflow-example.png?fit=max&auto=format&n=tsUnZlbBbWyR_k2J&q=85&s=3a84f31ce89c6d4bc4b2a4fb758f7ca3" alt="Placeholder: Relay canvas showing schedule and Olostep scrape steps" width="1392" height="656" data-path="images/integrations/relay/workflow-example.png" />

***

### Step 1: Add a schedule trigger

Create a workflow and add a schedule trigger (for example, every weekday at 8 AM).

### Step 2: Add Olostep Scrape Website

Add an **Olostep** step and select **Scrape Website**. Set:

* **URL:** `https://competitor.com/blog`
* **Output Format:** Markdown

### Step 3: Test and publish

Run a test to confirm the output, then publish or turn on the workflow.

### What you get

Every run produces clean page content ready for analysis or routing:

> **Scrape Result**
>
> * Source URL
> * Retrieved content in your selected format
> * Timestamped run output in Relay

***

## Parsers

Add a parser ID to the **Parser** field on the Scrape action to get structured data instead of raw content:

| Parser                       | Extracts                                         |
| ---------------------------- | ------------------------------------------------ |
| `@olostep/amazon-product`    | Title, price, rating, reviews, images, variants  |
| `@olostep/google-search`     | Result titles, URLs, snippets                    |
| `@olostep/google-maps`       | Business name, address, rating, reviews          |
| `@olostep/extract-emails`    | Email addresses from any page                    |
| `@olostep/extract-socials`   | Social profile links (X, GitHub, LinkedIn, etc.) |
| `@olostep/extract-calendars` | Google Calendar and ICS links                    |

See the full list in the [Olostep parser store →](https://www.olostep.com/store)

***

## Relay.app vs Zapier

Relay.app is a strong alternative to Zapier for workflows that need built-in review and AI-first orchestration.

**Relay.app advantages:**

* **Human-in-the-loop:** native approval and review steps in the workflow
* **AI-first workflow design:** easier to add AI decisions and summaries as first-class steps
* **Workflow clarity:** clean visual builder with clear run context and step outputs

**When Zapier may be better:**

* You need coverage for a niche app only available on Zapier
* Your team already has many existing Zaps and operational tooling around Zapier

If both platforms support your stack, choose Relay when review + AI collaboration are central to your process.

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="API key rejected">
    Copy the key directly from [olostep.com/dashboard](https://olostep.com/dashboard) with no trailing spaces. Reconnect the Olostep account in Relay if the error persists.
  </Accordion>

  <Accordion title="Scraped content is empty">
    Increase **Wait Before Scraping** (try 2000–5000ms for JS-heavy pages). Confirm the URL is publicly accessible without login. If one domain consistently fails, contact [info@olostep.com](mailto:info@olostep.com).
  </Accordion>

  <Accordion title="Rate limit hit">
    Add delays between scrape-heavy runs and retry with backoff for large workflows. Check current usage in the [dashboard](https://olostep.com/dashboard).
  </Accordion>

  <Accordion title="Map step takes longer than expected">
    Maps are async. Store the returned `map_id` first, then fetch results in a later step/run once processing is complete.
  </Accordion>
</AccordionGroup>

***

## Related

<CardGroup cols={2}>
  <Card title="Scrapes API" icon="file-lines" href="/features/scrapes">
    Full reference for the scrape endpoint
  </Card>

  <Card title="Batches API" icon="layer-group" href="/features/batches">
    How batch jobs work and how to retrieve results
  </Card>

  <Card title="Crawls API" icon="spider-web" href="/features/crawls">
    Crawl configuration and result retrieval
  </Card>

  <Card title="Maps API" icon="map" href="/features/maps">
    URL discovery and filtering options
  </Card>
</CardGroup>
