# Meat N' Bone Product Scraper (`scraping_crew/meatnbone-scraper`) Actor

Scrape the Meat N' Bone (meatnbone.com) catalog — wagyu and premium beef, seafood, pork, poultry and more — with prices, variants, categories, images and per-unit pricing as clean structured data.

- **URL**: https://apify.com/scraping\_crew/meatnbone-scraper.md
- **Developed by:** [Scraping Crew](https://apify.com/scraping_crew) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 products

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Meat N' Bone Product Scraper

**Meat N' Bone** ([meatnbone.com](https://meatnbone.com)) is a premium online butcher. This Actor scrapes its full catalog — **wagyu & premium beef, seafood, pork and poultry** — into clean, structured data: prices, discount/old prices, per-unit prices, variants, categories, images and descriptions. Run it on the [Apify platform](https://apify.com) to get API access, scheduling, integrations, proxy rotation and run monitoring out of the box.

Try it by pasting a category/collection URL from meatnbone.com into **Start URLs** and clicking **Start** — or just run it with the defaults to crawl the whole store.

### Features

- ⚡ Fast async HTTP crawling (no headless browser)
- 🧊 Full product catalog: wagyu & premium beef, seafood, pork and poultry
- 💵 Current price, old/compare-at price and per-unit price (per lb / oz / serving)
- 🧬 Every product variant expanded into its own record
- 🗂️ Category breadcrumbs, images, specifications and descriptions
- 🔄 Persistent product cache — repeat runs refresh prices without re-crawling everything
- 🎯 `maxItems` control for quick test runs
- 📊 Export as JSON, CSV, Excel, or via API
- 🤖 Ready for AI, n8n, Zapier, Make and RAG workflows
- 🌐 Optional Apify Proxy support

### Why use Meat N' Bone Product Scraper?

Track competitor pricing, monitor discounts, build price-comparison datasets, feed product
catalogs into AI/RAG pipelines, or power market research on the premium meat & seafood
market. The Actor turns Meat N' Bone's storefront into a structured feed you can schedule and
integrate anywhere.

### How to use Meat N' Bone Product Scraper

1. Open the Actor and go to the **Input** tab.
2. (Optional) Paste one or more Meat N' Bone category/collection URLs into **Start URLs**. Leave empty to crawl the default catalog.
3. (Optional) Set **Max items** for a quick test (default `10`; set `0` for unlimited).
4. (Optional) Enable **Apify Proxy** (a US proxy is recommended).
5. Click **Start**. When the run finishes, open the **Dataset** tab to preview and export.

### Input

| Field | Type | Description |
|---|---|---|
| `startUrls` | array | Category / collection URLs to scrape. Empty = default catalog. |
| `maxItems` | integer | Stop after N products (default `10`, `0` = unlimited). |
| `proxyConfiguration` | object | Proxy settings (Apify Proxy recommended). |

### Output

Each dataset item is one product variant. Example:

```json
{
    "productUrl": "https://meatnbone.com/products/example#123",
    "listingUrl": "https://meatnbone.com/collections/beef",
    "sku": "123-456",
    "name": "Example Product - 16 oz",
    "brand": "Meat N' Bone",
    "category": ["Beef", "Steaks"],
    "price": 79.0,
    "oldPrice": 99.0,
    "unitPrice": 4.94,
    "unitType": "oz",
    "images": ["https://meatnbone.com/img/example.jpg"],
    "description": "Product description text..."
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

### Data table

| Field | Description |
|---|---|
| `name` | Product / variant title |
| `brand` | Brand / vendor |
| `price` | Current selling price |
| `oldPrice` | Previous / compare-at price (or null) |
| `unitPrice` / `unitType` | Price per single unit and its unit (lb / oz / serving / pcs) |
| `category` | Category breadcrumb path |
| `productUrl` / `listingUrl` | Product and source listing URLs |
| `sku` | Product / variant identifier |
| `images` | Product image URLs |
| `specsTable` | Key/value specifications (when available) |
| `description` | Product description text |

### Pricing / Cost estimation

This Actor uses lightweight HTTP requests (no browser), so scraping Meat N' Bone is cheap. Cost
scales with the number of products and pages crawled; use **Max items** to cap a run. The
persistent cache makes repeat runs cheaper by refreshing known products' prices without
re-fetching every detail page.

### Free User Limitations

Runs started on a **free plan are hard-limited to 10 products per run**. Setting `maxItems` higher than 10 (or to `0` for unlimited) has no effect on a free plan — the run still stops at 10 items and a warning is written to the log. Values below 10 are respected as usual.

Upgrade to any **paid plan** to lift the cap: `maxItems` then controls the run exactly, and `0` scrapes every product found. No other feature, output field, or data source is restricted for free users.

### Tips or Advanced options

- Narrow **Start URLs** to specific categories to cut runtime and cost.
- Use **Max items** for a quick sample before a full crawl.
- Schedule the Actor to keep a price dataset fresh; the cache keeps repeat runs efficient.
- Enable a US Apify Proxy if you hit rate limiting.

### FAQ, disclaimers, and support

**Is scraping Meat N' Bone legal?** Scraping publicly available data is generally legal, but you
are responsible for complying with Meat N' Bone's Terms of Service and applicable laws. This
Actor collects only public product data — no personal information.

**Something looks off?** Sites change their markup; open an issue on the Actor's **Issues** tab
and we'll take a look. Custom scraping solutions are available on request.

### SEO Keywords

Meat N' Bone Product Scraper, Meat N' Bone scraper, meatnbone.com scraper, scrape Meat N' Bone, Meat N' Bone price tracker, wagyu, premium beef, seafood, gourmet meat, meat price monitoring, product data extraction, e-commerce scraper, Apify Actor, butcher shop scraper, grocery price scraper, wagyu price data

# Actor input Schema

## `startUrls` (type: `array`):

Category / collection / listing URLs to scrape. Leave empty to use the site's default category set.

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

Stop the run after this many products have been scraped. Set to 0 for unlimited. Free plans are always limited to 10 items per run.

## `proxyConfiguration` (type: `object`):

Proxy servers used by the scraper to avoid blocking. A US proxy is recommended for these US stores.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://meatnbone.com/collections/beef"
    },
    {
      "url": "https://meatnbone.com/collections/seafood"
    },
    {
      "url": "https://meatnbone.com/collections/gift-products"
    },
    {
      "url": "https://meatnbone.com/collections/pork"
    },
    {
      "url": "https://meatnbone.com/collections/poultry"
    },
    {
      "url": "https://meatnbone.com/collections/game-meat"
    },
    {
      "url": "https://meatnbone.com/collections/sides"
    },
    {
      "url": "https://meatnbone.com/collections/butter-oils"
    },
    {
      "url": "https://meatnbone.com/collections/meat-n-bone-salts"
    },
    {
      "url": "https://meatnbone.com/collections/sauces"
    },
    {
      "url": "https://meatnbone.com/collections/protein-packs"
    }
  ],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Structured product records (prices, unit prices, images, descriptions) collected during the run.

# 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 = {
    "startUrls": [
        {
            "url": "https://meatnbone.com/collections/beef"
        },
        {
            "url": "https://meatnbone.com/collections/seafood"
        },
        {
            "url": "https://meatnbone.com/collections/gift-products"
        },
        {
            "url": "https://meatnbone.com/collections/pork"
        },
        {
            "url": "https://meatnbone.com/collections/poultry"
        },
        {
            "url": "https://meatnbone.com/collections/game-meat"
        },
        {
            "url": "https://meatnbone.com/collections/sides"
        },
        {
            "url": "https://meatnbone.com/collections/butter-oils"
        },
        {
            "url": "https://meatnbone.com/collections/meat-n-bone-salts"
        },
        {
            "url": "https://meatnbone.com/collections/sauces"
        },
        {
            "url": "https://meatnbone.com/collections/protein-packs"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraping_crew/meatnbone-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 = {
    "startUrls": [
        { "url": "https://meatnbone.com/collections/beef" },
        { "url": "https://meatnbone.com/collections/seafood" },
        { "url": "https://meatnbone.com/collections/gift-products" },
        { "url": "https://meatnbone.com/collections/pork" },
        { "url": "https://meatnbone.com/collections/poultry" },
        { "url": "https://meatnbone.com/collections/game-meat" },
        { "url": "https://meatnbone.com/collections/sides" },
        { "url": "https://meatnbone.com/collections/butter-oils" },
        { "url": "https://meatnbone.com/collections/meat-n-bone-salts" },
        { "url": "https://meatnbone.com/collections/sauces" },
        { "url": "https://meatnbone.com/collections/protein-packs" },
    ],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("scraping_crew/meatnbone-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://meatnbone.com/collections/beef"
    },
    {
      "url": "https://meatnbone.com/collections/seafood"
    },
    {
      "url": "https://meatnbone.com/collections/gift-products"
    },
    {
      "url": "https://meatnbone.com/collections/pork"
    },
    {
      "url": "https://meatnbone.com/collections/poultry"
    },
    {
      "url": "https://meatnbone.com/collections/game-meat"
    },
    {
      "url": "https://meatnbone.com/collections/sides"
    },
    {
      "url": "https://meatnbone.com/collections/butter-oils"
    },
    {
      "url": "https://meatnbone.com/collections/meat-n-bone-salts"
    },
    {
      "url": "https://meatnbone.com/collections/sauces"
    },
    {
      "url": "https://meatnbone.com/collections/protein-packs"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call scraping_crew/meatnbone-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scraping_crew/meatnbone-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/HH4rWcrgkn1FhiKhG/builds/lDwiiCQVdsRNiHVeb/openapi.json
