# Spidra vs Spider.cloud: two different products, clearly explained

> Source: <https://spidra.io/blog/spidra-vs-spider-cloud>
> Published: 2026-06-22 00:00:00+00:00

If you searched "Spidra API" recently and Google's AI Overview told you it's "often referred to as Spider.cloud," you have run into one of the more persistent name confusion problems in the web scraping space.

Spidra and Spider.cloud are not the same product. They are not related. They are not built by the same company. They are two separate tools built for genuinely different problems, and mixing them up will send you completely in the wrong direction when you are trying to get work done.

This article exists to fix that. We will cover what each product actually is, where they differ technically, and what Spidra is specifically built to do better.

## The quick answer

**Spidra** (spidra.io) is an AI-powered web scraping API. You send a URL and a plain text prompt describing what you want. Spidra loads the page in a real browser, handles any anti-bot protection automatically, runs AI extraction on the fully rendered content, and returns clean structured JSON.

The entire product is built around one idea: describe what you want from a website and get it back as structured data.

**Spider.cloud** (spider.cloud) is a high-speed web crawling API built on an open-source Rust engine. You send a URL with configuration parameters and get page content back in your chosen format. It is designed for teams that need to crawl millions of pages as fast as possible and at the lowest possible cost per page.

Same general category. Completely different philosophy, technical approach, and target use case.

## Where the name confusion comes from

Spider.cloud's product is called Spider. Their domain is spider.cloud. Their GitHub organisation is spider-rs. Their Twitter is @spider_rust.

Spidra's product is called Spidra. The domain is spidra.io.

Spidra, Spider, spider.cloud, spider-rs. When Google's AI processes these names across millions of pages, it conflates them. The products are unrelated beyond both scraping websites and having names that contain the word "spider."

## How Spider.cloud works

Spider.cloud is built on a Rust crawling engine that is open-source under the MIT licence. You authenticate with a Bearer token and call their REST endpoints.

``` python
import requests, os

headers = {
    "Authorization": f"Bearer {os.getenv('SPIDER_API_KEY')}",
    "Content-Type": "application/json",
}

response = requests.post(
    "https://api.spider.cloud/crawl",
    headers=headers,
    json={
        "url": "https://example.com",
        "limit": 50,
        "return_format": "markdown",
        "request": "smart",
    }
)

for page in response.json():
    print(page["url"], page["content"][:200])
```

Pricing is pay-as-you-go: bandwidth at $1/GB plus compute at $0.001/minute, with no subscription required and no credit expiration. Their production average is around $0.48 per 1,000 pages.

## How Spidra works

Spidra is built around a different problem. The hard part of web scraping is not fetching pages quickly. Most of the time it is reliably getting the right data out of pages that render differently, change structure without notice, and sit behind anti-bot systems.

You authenticate with an `x-api-key`

header and use an async job model: submit a scrape, receive a job ID, poll until complete.

``` python
import requests, time, os

API_KEY = os.environ["SPIDRA_API_KEY"]
HEADERS = {"x-api-key": API_KEY, "Content-Type": "application/json"}

response = requests.post(
    "https://api.spidra.io/api/scrape",
    headers=HEADERS,
    json={
        "urls": [{"url": "https://news.ycombinator.com"}],
        "prompt": "Extract the top 10 post titles and their point scores",
        "output": "json",
    }
)
job_id = response.json()["jobId"]

while True:
    status = requests.get(
        f"https://api.spidra.io/api/scrape/{job_id}",
        headers=HEADERS
    ).json()
    if status["status"] == "completed":
        print(status["result"]["content"])
        break
    time.sleep(3)
```

The result comes back as structured JSON matching what you described. No HTML to parse. No selectors to write or maintain. No post-processing step.

For production pipelines that need a guaranteed output shape every time, add a [JSON Schema](https://docs.spidra.io/features/structured-output):

```
requests.post(
    "https://api.spidra.io/api/scrape",
    headers=HEADERS,
    json={
        "urls": [{"url": "https://jobs.example.com/senior-engineer"}],
        "prompt": "Extract the job listing details",
        "schema": {
            "type": "object",
            "required": ["title", "company"],
            "properties": {
                "title":      {"type": "string"},
                "company":    {"type": "string"},
                "remote":     {"type": ["boolean", "null"]},
                "salary_min": {"type": ["number", "null"]},
                "salary_max": {"type": ["number", "null"]},
            }
        }
    }
)
```

Required fields always appear in the output as `null`

if the page does not have that value. The shape never varies regardless of how different source pages are structured. This is the piece that makes Spidra usable for production pipelines without constant maintenance.

## What Spidra does that Spider.cloud cannot

### Browser actions built into every request

Spider.cloud has a separate Browser Cloud product for interactive browser sessions. It is billed separately and requires a different connection model.

Spidra includes browser actions as part of every standard scrape request. Click a cookie banner, fill a search form, scroll to trigger lazy loading, and run extraction on the result — all in a single API call:

``` python
from spidra import BrowserAction, ScrapeParams, ScrapeUrl

job = spidra.scrape.run_sync(ScrapeParams(
    urls=[
        ScrapeUrl(
            url="https://example.com/products",
            actions=[
                BrowserAction(type="click", value="Accept cookies"),
                BrowserAction(type="scroll", to="80%"),
            ]
        )
    ],
    prompt="Extract all product names and prices",
    output="json",
))
```

No additional product. No separate billing. It is just part of how scraping works.

### The forEach action

This is the capability that separates Spidra most clearly from everything else in the market, including Spider.cloud.

`forEach`

finds every matching element on a page, interacts with each one, and returns a combined result. With `mode: "navigate"`

it follows each element as a link and scrapes the destination page. With pagination, it automatically continues across multiple pages.

```
BrowserAction(
    type="forEach",
    value="Find all company listing cards",
    mode="navigate",
    max_items=50,
    item_prompt="Extract company name, website, and industry",
    pagination={
        "nextSelector": "a.next-page",
        "maxPages": 3,
    }
)
```

One request. Every listing across three pages. Structured data from each detail page. Spider.cloud has no equivalent of this.

### JSON Schema enforcement

When you pass a schema to Spidra, the AI extraction must return data matching it exactly. Required fields always appear. Types are enforced. The output is the same shape whether the source page is a Shopify store, a Squarespace site, or a custom-built e-commerce platform.

Spider.cloud returns content. What you do with that content is up to you.

### Anti-bot bypass included by default

On Spidra, anti-bot bypass is not a configuration option or a separate product tier. Every request runs in a real browser with proxy rotation and CAPTCHA solving included automatically. You do not configure stealth settings. You do not pay extra for it. You just get the data.

Spider.cloud has an Unblocker feature and a Browser Cloud for protected sites. These are available but require separate configuration and, in some cases, a different product and billing model.

### More SDK languages

Spidra has official SDKs for Python, Node.js, Go, PHP, Ruby, Rust, .NET, Elixir, Java, and Swift. Spider.cloud has Python, Node.js, and Rust. If your team works in any language beyond those three, Spidra is the practical choice.

## Getting started with Spidra

The free plan gives you 300 credits with no credit card required. That is enough to test the scrape, batch, and crawl endpoints against your real URLs before committing to anything.

Get your API key at [app.spidra.io](https://app.spidra.io/) under Settings → API Keys. Full documentation at [docs.spidra.io](https://docs.spidra.io/).
