# Cat Breeds Scraper (TheCatAPI) (`parseforge/thecatapi-cat-breeds-scraper`) Actor

Pull TheCatAPI breed catalog with images: breed name, origin, temperament, life span, weight, description, energy level, affection, intelligence, child friendly, dog friendly, grooming, health issues, hypoallergenic, and image URLs. Export to JSON, CSV, or Excel.

- **URL**: https://apify.com/parseforge/thecatapi-cat-breeds-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Developer tools, Education, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $9.00 / 1,000 result items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🐱 Cat Breeds Scraper

> 🚀 **Export the global cat breed catalog in seconds.** Pull **60 cat breeds** with origin, temperament, life span, weight, intelligence, energy, hypoallergenic flags, health notes, and reference images. No API key, no registration, no manual research.

> 🕒 **Last updated:** 2026-05-23 · **📊 41 fields** per record · **🐱 60 breeds** · **🌍 30+ countries of origin** · **⭐ 15 behavior scores**

The **Cat Breeds Scraper** exports the complete cat breed catalog with rich, structured records on every recognized breed. Each record carries **41 fields** including breed name, country of origin, temperament tags, life span, metric and imperial weights, alt names, breed group, 15 behavioral scores (affection, intelligence, energy, grooming, social needs, vocalization, child- and dog-friendliness), hypoallergenic and special-trait flags, reference image, and links to CFA, Vetstreet, VCA Hospitals, and Wikipedia.

Coverage spans **60 breeds** from **30+ countries of origin** with strong representation of natural, experimental, hairless, rex, and short-leg classifications. This Actor turns the catalog into a CSV, Excel, JSON, or XML download in minutes.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Pet-tech startups, veterinary platforms, adoption services, pet-insurance companies, content publishers, voice-assistant teams | Breed-compatibility tools, adoption matching, vet-clinic content, pet-insurance underwriting, education and trivia, content marketing |

---

### 📋 What the Cat Breeds Scraper does

Three retrieval modes in a single run:

- 📚 **List mode.** Paginate through all 60 breeds in one pass.
- 🔍 **Search mode.** Look up breeds by partial name (e.g. `Persian`, `Maine Coon`).
- 🆔 **By-ID mode.** Fetch specific breeds by their canonical short IDs (e.g. `abys`, `pers`, `sibe`, `mcoo`, `ragd`).

Every record returns hero image, identification, origin, temperament, full description, life span, dual-unit weights, 15 behavioral scores on a 1-5 scale, binary trait flags, and reference links.

> 💡 **Why it matters:** breed metadata is scattered across club registries (CFA, TICA), encyclopedias, vet sites, and Wikipedia. Stitching them into a clean comparable schema is busywork. This Actor returns one normalized record per breed on demand.

---

### 🎬 Full Demo

_🚧 Coming soon: a 3-minute walkthrough showing how to pull the breed catalog into an adoption-matching app._

---

### ⚙️ Input

<table>
<thead>
<tr><th>Input</th><th>Type</th><th>Default</th><th>Behavior</th></tr>
</thead>
<tbody>
<tr><td>maxItems</td><td>integer</td><td>10</td><td>Records to return. Free plan caps at 10, paid plan at 1,000,000.</td></tr>
<tr><td>mode</td><td>string</td><td>"list"</td><td>One of list, search, byId.</td></tr>
<tr><td>searchQuery</td><td>string</td><td>""</td><td>Breed-name search (when mode is search).</td></tr>
<tr><td>breedIds</td><td>array</td><td>[]</td><td>Breed IDs to fetch (when mode is byId).</td></tr>
</tbody>
</table>

**Example: full catalog dump.**

```json
{
    "maxItems": 60,
    "mode": "list"
}
````

**Example: fetch a hand-picked panel of breeds by ID.**

```json
{
    "maxItems": 5,
    "mode": "byId",
    "breedIds": ["abys", "pers", "sibe", "mcoo", "ragd"]
}
```

> ⚠️ **Good to Know:** behavior scores are subjective generalizations sourced from breed clubs and vet experts. Individual cats vary widely. Use the scores for trend analysis and education, not as a substitute for in-person assessment.

***

### 📊 Output

Each breed record contains **41 fields**. Download the dataset as CSV, Excel, JSON, or XML.

#### 🧾 Schema

| Field | Type | Example |
|---|---|---|
| 🖼️ `imageUrl` | string | `"https://cdn2.thecatapi.com/images/0XYAs4lBE.jpg"` |
| 🆔 `id` | string | `"abys"` |
| 🐱 `name` | string | `"Abyssinian"` |
| 🌍 `origin` | string | `"Egypt"` |
| 🏳️ `countryCode` | string | `"EG"` |
| 🎭 `temperament` | string | `"Active, Energetic, Independent, Intelligent, Gentle"` |
| 📝 `description` | string | `"The Abyssinian is easy to care for..."` |
| ⏳ `lifeSpan` | string | `"14 - 15"` |
| ⚖️ `weightImperial` | string | `"7 - 10"` |
| ⚖️ `weightMetric` | string | `"3 - 5"` |
| 🏷️ `altNames` | string | `""` |
| 👥 `breedGroup` | string | `"Natural"` |
| 🧠 `adaptability` | number | `5` |
| ❤️ `affectionLevel` | number | `5` |
| 👶 `childFriendly` | number | `3` |
| 🐶 `dogFriendly` | number | `4` |
| ⚡ `energyLevel` | number | `5` |
| 🛁 `grooming` | number | `1` |
| 🩺 `healthIssues` | number | `2` |
| 🧠 `intelligence` | number | `5` |
| 🐾 `sheddingLevel` | number | `2` |
| 🤝 `socialNeeds` | number | `5` |
| 👋 `strangerFriendly` | number | `5` |
| 🔊 `vocalisation` | number | `1` |
| 🤧 `hypoallergenic` | number | `0` |
| 🧪 `experimental` | number | `0` |
| 🪒 `hairless` | number | `0` |
| 🌿 `natural` | number | `1` |
| 🦄 `rare` | number | `0` |
| 🌀 `rex` | number | `0` |
| 🐈 `suppressedTail` | number | `0` |
| 🦵 `shortLegs` | number | `0` |
| 🏠 `indoor` | number | `0` |
| 🧎 `lap` | number | `1` |
| 🔗 `cfaUrl` | string | null | `"http://cfa.org/Breeds/BreedsAB/Abyssinian.aspx"` |
| 🔗 `vetstreetUrl` | string | null | `"http://www.vetstreet.com/cats/abyssinian"` |
| 🔗 `vcahospitalsUrl` | string | null | `"https://vcahospitals.com/know-your-pet/cat-breeds/abyssinian"` |
| 🔗 `wikipediaUrl` | string | null | `"https://en.wikipedia.org/wiki/Abyssinian_(cat)"` |
| 🆔 `referenceImageId` | string | null | `"0XYAs4lBE"` |
| 🕒 `scrapedAt` | ISO 8601 | `"2026-05-23T00:00:00.000Z"` |

#### 📦 Sample records

<details>
<summary><strong>🐱 Natural breed: Abyssinian (abys)</strong></summary>

```json
{
    "imageUrl": "https://cdn2.thecatapi.com/images/0XYAs4lBE.jpg",
    "id": "abys",
    "name": "Abyssinian",
    "origin": "Egypt",
    "countryCode": "EG",
    "temperament": "Active, Energetic, Independent, Intelligent, Gentle",
    "description": "The Abyssinian is easy to care for, and a joy to have in your home...",
    "lifeSpan": "14 - 15",
    "weightImperial": "7 - 10",
    "weightMetric": "3 - 5",
    "breedGroup": "Natural",
    "adaptability": 5,
    "affectionLevel": 5,
    "childFriendly": 3,
    "dogFriendly": 4,
    "energyLevel": 5,
    "grooming": 1,
    "healthIssues": 2,
    "intelligence": 5,
    "sheddingLevel": 2,
    "socialNeeds": 5,
    "strangerFriendly": 5,
    "vocalisation": 1,
    "hypoallergenic": 0,
    "natural": 1,
    "lap": 1,
    "cfaUrl": "http://cfa.org/Breeds/BreedsAB/Abyssinian.aspx",
    "wikipediaUrl": "https://en.wikipedia.org/wiki/Abyssinian_(cat)",
    "referenceImageId": "0XYAs4lBE",
    "scrapedAt": "2026-05-23T00:00:00.000Z"
}
```

</details>

<details>
<summary><strong>🪒 Hairless and hypoallergenic: Sphynx (sphy)</strong></summary>

```json
{
    "imageUrl": "https://cdn2.thecatapi.com/images/MTk0NTcyOQ.jpg",
    "id": "sphy",
    "name": "Sphynx",
    "origin": "Canada",
    "countryCode": "CA",
    "temperament": "Affectionate, Energetic, Friendly, Intelligent, Lively",
    "lifeSpan": "10 - 15",
    "weightImperial": "8 - 12",
    "weightMetric": "3 - 5",
    "breedGroup": "Hybrid",
    "adaptability": 5,
    "affectionLevel": 5,
    "childFriendly": 5,
    "dogFriendly": 5,
    "energyLevel": 5,
    "grooming": 5,
    "intelligence": 5,
    "hairless": 1,
    "hypoallergenic": 1,
    "scrapedAt": "2026-05-23T00:00:00.000Z"
}
```

</details>

***

### ✨ Why choose this Actor

| | Capability |
|---|---|
| 🐱 | **Complete catalog.** All 60 recognized breeds in one normalized schema. |
| 📊 | **15 behavior scores.** Affection, intelligence, energy, grooming, social, vocal, child- and dog-friendliness, hypoallergenic flag, and more. |
| 🌍 | **Origin and country code.** Map breed heritage with ISO country codes. |
| 🔗 | **Authoritative references.** Direct links to CFA, Vetstreet, VCA Hospitals, and Wikipedia for every breed. |
| 🖼️ | **Reference image included.** Hero photo URL ready for product cards and apps. |
| ⚡ | **Fast.** Full catalog in under 30 seconds. |
| 🚫 | **No authentication.** Works against the public cat breed API. No login or key needed. |

> 📊 Structured pet metadata is the foundation of every modern pet-tech app. Owners pick by temperament, vets surface by health risk, insurers price by breed group.

***

### 📈 How it compares to alternatives

| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| **⭐ Cat Breeds Scraper** *(this Actor)* | $5 free credit, then pay-per-use | **60 breeds, 41 fields each** | **Live per run** | list, search, by ID | ⚡ 2 min |
| Manual Wikipedia stitching | Free | Inconsistent | Live | None | 🐢 Days |
| Breed-club websites | Free | Per-club only | Mixed | Custom scraping | ⏳ Hours per source |
| Generic pet APIs | Varies | Mixed | Mixed | Often paid | 🕒 Variable |

Pick this Actor when you want one clean breed schema instead of stitching multiple sources.

***

### 🚀 How to use

1. 📝 **Sign up.** [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) (takes 2 minutes).
2. 🌐 **Open the Actor.** Go to the Cat Breeds Scraper page on the Apify Store.
3. 🎯 **Set input.** Pick a mode (list, search, or by ID) and set `maxItems`.
4. 🚀 **Run it.** Click **Start** and the Actor collects the breed records.
5. 📥 **Download.** Grab your results in the **Dataset** tab as CSV, Excel, JSON, or XML.

> ⏱️ Total time from signup to downloaded dataset: **3-5 minutes.** No coding required.

***

### 💼 Business use cases

<table>
<tr>
<td width="50%" valign="top">

#### 🐾 Pet-Tech & Adoption Platforms

- Breed autocomplete with canonical IDs
- Adoption-matching by temperament and lifestyle fit
- Breed-compatibility wizards for first-time owners
- Lifestyle quizzes with weighted score inputs

</td>
<td width="50%" valign="top">

#### 🩺 Veterinary & Insurance

- Breed-specific health-risk filters for clinics
- Underwriting tables keyed off breed group and life span
- Wellness-program content with reference links
- Onboarding flows that prefill breed metadata

</td>
</tr>
<tr>
<td width="50%" valign="top">

#### 📰 Content & Media

- Breed-spotlight articles with images and stats
- "Best cat breeds for X" listicles with real data
- Newsletter content pipelines auto-populated by breed
- Voice-assistant skills for pet-care questions

</td>
<td width="50%" valign="top">

#### 🛒 E-commerce & Pet Retail

- Product recommendations keyed to breed traits
- Diet and grooming filters by breed score
- Cross-sell tools matching toys to energy level
- Subscription-box personalization

</td>
</tr>
</table>

***

### 🔌 Automating Cat Breeds Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

- 🟢 **Node.js.** Install the `apify-client` NPM package.
- 🐍 **Python.** Use the `apify-client` PyPI package.
- 📚 See the [Apify API documentation](https://docs.apify.com/api/v2) for full details.

The [Apify Schedules feature](https://docs.apify.com/platform/schedules) lets you trigger this Actor on any cron interval. A weekly refresh is plenty for breed catalogs since the underlying data changes slowly.

***

### 🌟 Beyond business use cases

Structured breed data has reach well beyond commercial workflows. The same records support research, education, civic projects, and personal initiatives.

<table>
<tr>
<td width="50%">

#### 🎓 Research and academia

- Companion-animal welfare studies with comparable metrics
- Genetics-of-temperament course datasets
- Veterinary education modules with reference photos
- Behavioral-science survey instruments

</td>
<td width="50%">

#### 🎨 Personal and creative

- Pet portrait projects organized by breed
- Indie pet-care apps and chatbots
- Cat-themed Notion dashboards and trackers
- Trivia decks for hobbyists and breeders

</td>
</tr>
<tr>
<td width="50%">

#### 🤝 Non-profit and civic

- Shelter intake tagging with consistent breed labels
- Adoption-fair printable breed cards
- Rescue-org websites with rich breed pages
- Volunteer training packs for shelter staff

</td>
<td width="50%">

#### 🧪 Experimentation

- Train recommender systems for pet-product apps
- Build LLM tools that answer breed questions reliably
- Prototype computer-vision pipelines with breed labels
- Test classifier accuracy on breed-photo datasets

</td>
</tr>
</table>

***

### 🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:

- 💬 [**ChatGPT**](https://chat.openai.com/?q=How%20do%20I%20use%20the%20Cat%20Breeds%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🧠 [**Claude**](https://claude.ai/new?q=How%20do%20I%20use%20the%20Cat%20Breeds%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🔍 [**Perplexity**](https://perplexity.ai/search?q=How%20do%20I%20use%20the%20Cat%20Breeds%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🅒 [**Copilot**](https://copilot.microsoft.com/?q=How%20do%20I%20use%20the%20Cat%20Breeds%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)

***

### ❓ Frequently Asked Questions

#### 🧩 How does it work?

Pick a mode (list, search, or by ID), set `maxItems`, click Start, and the Actor pulls live breed records from the public catalog and emits one clean structured record per breed.

#### 📏 How accurate is the data?

Breed names, origins, life spans, and weights are based on widely cited breed-club references. Behavior scores are 1-5 generalizations and should be treated as trends, not guarantees. Individual cats vary.

#### 🔁 How often is the dataset refreshed?

The catalog updates as the underlying source publishes new breeds and revisions. Every run pulls live data, so updates appear immediately.

#### 🐱 How many breeds are covered?

60 cat breeds, spanning natural, hybrid, hairless, rex, short-leg, and experimental groups.

#### 🤧 How is the hypoallergenic flag determined?

It is a binary flag on each record indicating that the breed produces less of the Fel d 1 protein that triggers most cat allergies. Hypoallergenic does not mean allergen-free; severely allergic owners should still meet a cat in person first.

#### ⏰ Can I schedule regular runs?

Yes. Use Apify Schedules to refresh the catalog weekly or monthly. Breed metadata changes slowly, so a weekly cadence is usually enough.

#### ⚖️ Is this data legal to use?

Breed metadata from the public source is widely reused in pet apps, shelters, and content sites. Verify attribution requirements for any reference image URLs you embed downstream.

#### 💳 Do I need a paid Apify plan to use this Actor?

No. The free Apify plan is enough for testing and small runs (10 records per run). A paid plan unlocks the full 60-breed catalog and scheduling.

#### 🔁 What happens if a run fails or gets interrupted?

Apify automatically retries transient errors. If a run still fails, inspect the log, fix the input, and re-run. Partial datasets from failed runs are preserved.

#### 🐶 Is there a companion dog-breed scraper?

Not yet. Use the contact form below to request one if your use case needs both species.

#### 🆘 What if I need help?

Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.

***

### 🔌 Integrate with any app

Cat Breeds Scraper connects to any cloud service via [Apify integrations](https://apify.com/integrations):

- [**Make**](https://docs.apify.com/platform/integrations/make) - Automate multi-step workflows
- [**Zapier**](https://docs.apify.com/platform/integrations/zapier) - Connect with 5,000+ apps
- [**Slack**](https://docs.apify.com/platform/integrations/slack) - Get run notifications in your channels
- [**Airbyte**](https://docs.apify.com/platform/integrations/airbyte) - Pipe breed catalog into your warehouse
- [**GitHub**](https://docs.apify.com/platform/integrations/github) - Trigger runs from commits and releases
- [**Google Drive**](https://docs.apify.com/platform/integrations/drive) - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Push the catalog into your pet-app backend or alert your team in Slack on data refresh.

***

### 🔗 Recommended Actors

- [**🌍 GBIF Biodiversity Scraper**](https://apify.com/parseforge/gbif-biodiversity-scraper) - Global biodiversity occurrence records
- [**🛒 Ace Hardware Scraper**](https://apify.com/parseforge/ace-hardware-scraper) - Hardware and home-and-garden retail catalog
- [**🛰️ NOAA Weather Scraper**](https://apify.com/parseforge/noaa-weather-scraper) - Authoritative U.S. weather data
- [**🩺 ClinicalTrials.gov Scraper**](https://apify.com/parseforge/clinicaltrials-gov-scraper) - Registered clinical trials worldwide
- [**🏛️ Met Museum Scraper**](https://apify.com/parseforge/met-museum-scraper) - Open-access artworks from The Met

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more reference-data scrapers.

***

**🆘 Need Help?** [**Open our contact form**](https://tally.so/r/BzdKgA) to request a new scraper, propose a custom data project, or report an issue.

***

> **⚠️ Disclaimer:** this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by TheCatAPI, CFA, Vetstreet, VCA Hospitals, or Wikipedia. All trademarks mentioned are the property of their respective owners. Only publicly available breed catalog data is collected.

# Actor input Schema

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `mode` (type: `string`):

Choose how to pull breeds.

## `searchQuery` (type: `string`):

Breed name search (mode = search). Example: Persian, Siamese, Maine Coon.

## `breedIds` (type: `array`):

Breed IDs to fetch (mode = byId). Pick one or more 4-letter codes.

## Actor input object example

```json
{
  "maxItems": 10,
  "mode": "list"
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10,
    "mode": "list"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/thecatapi-cat-breeds-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "maxItems": 10,
    "mode": "list",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/thecatapi-cat-breeds-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10,
  "mode": "list"
}' |
apify call parseforge/thecatapi-cat-breeds-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/thecatapi-cat-breeds-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Cat Breeds Scraper (TheCatAPI)",
        "description": "Pull TheCatAPI breed catalog with images: breed name, origin, temperament, life span, weight, description, energy level, affection, intelligence, child friendly, dog friendly, grooming, health issues, hypoallergenic, and image URLs. Export to JSON, CSV, or Excel.",
        "version": "1.0",
        "x-build-id": "ZNSNXMaVG9ESwcxsR"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~thecatapi-cat-breeds-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-thecatapi-cat-breeds-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~thecatapi-cat-breeds-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-thecatapi-cat-breeds-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~thecatapi-cat-breeds-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-thecatapi-cat-breeds-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "list",
                            "search",
                            "byId"
                        ],
                        "type": "string",
                        "description": "Choose how to pull breeds."
                    },
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Breed name search (mode = search). Example: Persian, Siamese, Maine Coon."
                    },
                    "breedIds": {
                        "title": "Breed IDs",
                        "type": "array",
                        "description": "Breed IDs to fetch (mode = byId). Pick one or more 4-letter codes.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "abob",
                                "abys",
                                "acur",
                                "aege",
                                "amau",
                                "amis",
                                "asho",
                                "awir",
                                "bali",
                                "bamb",
                                "beng",
                                "birm",
                                "bomb",
                                "bsho",
                                "bslo",
                                "bure",
                                "buri",
                                "char",
                                "chau",
                                "chee",
                                "crex",
                                "csho",
                                "cspa",
                                "ctif",
                                "cymr",
                                "cypr",
                                "dons",
                                "drex",
                                "ebur",
                                "emau",
                                "esho",
                                "hbro",
                                "hima",
                                "java",
                                "jbob",
                                "khao",
                                "kora",
                                "kuri",
                                "lape",
                                "lihu",
                                "mala",
                                "manx",
                                "mcoo",
                                "munc",
                                "nebe",
                                "norw",
                                "ocic",
                                "orie",
                                "pers",
                                "pixi",
                                "raga",
                                "ragd",
                                "rblu",
                                "sava",
                                "sfol",
                                "siam",
                                "sibe",
                                "sing",
                                "snow",
                                "soma",
                                "sphy",
                                "srex",
                                "tang",
                                "tonk",
                                "toyg",
                                "tvan",
                                "ycho"
                            ],
                            "enumTitles": [
                                "American Bobtail",
                                "Abyssinian",
                                "American Curl",
                                "Aegean",
                                "Arabian Mau",
                                "Australian Mist",
                                "American Shorthair",
                                "American Wirehair",
                                "Balinese",
                                "Bambino",
                                "Bengal",
                                "Birman",
                                "Bombay",
                                "British Shorthair",
                                "British Longhair",
                                "Burmese",
                                "Burmilla",
                                "Chartreux",
                                "Chausie",
                                "Cheetoh",
                                "Cornish Rex",
                                "Colorpoint Shorthair",
                                "California Spangled",
                                "Chantilly-Tiffany",
                                "Cymric",
                                "Cyprus",
                                "Donskoy",
                                "Devon Rex",
                                "European Burmese",
                                "Egyptian Mau",
                                "Exotic Shorthair",
                                "Havana Brown",
                                "Himalayan",
                                "Javanese",
                                "Japanese Bobtail",
                                "Khao Manee",
                                "Korat",
                                "Kurilian",
                                "LaPerm",
                                "Dragon Li",
                                "Malayan",
                                "Manx",
                                "Maine Coon",
                                "Munchkin",
                                "Nebelung",
                                "Norwegian Forest Cat",
                                "Ocicat",
                                "Oriental",
                                "Persian",
                                "Pixie-bob",
                                "Ragamuffin",
                                "Ragdoll",
                                "Russian Blue",
                                "Savannah",
                                "Scottish Fold",
                                "Siamese",
                                "Siberian",
                                "Singapura",
                                "Snowshoe",
                                "Somali",
                                "Sphynx",
                                "Selkirk Rex",
                                "Turkish Angora",
                                "Tonkinese",
                                "Toyger",
                                "Turkish Van",
                                "York Chocolate"
                            ]
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
