# IC24.UK Auto Parts Scraper: Exact Stock & Cross-Reference Data (`getascraper/ic24-uk-auto-parts-scraper`) Actor

Scrapes car and motorcycle parts from IC24.UK, Inter Cars' UK storefront: brand, part number, spec attributes, price, and exact live stock quantity in units, not just an in-stock flag. Detail mode adds cross-reference part numbers with brand names. Export JSON, CSV, or Excel. $2 per 1,000 parts.

- **URL**: https://apify.com/getascraper/ic24-uk-auto-parts-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 part records

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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

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 examples already wired to this Actor's own input schema, see the [API](#api) section below.

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`).

# README

## 🔩 IC24.UK Auto Parts Scraper: Exact Stock & Cross-Reference Data

<table width="100%"><tr><td style="padding:20px 24px;background:#EEF4FA;border:1px solid #C5DAF0;border-radius:10px;vertical-align:top"><span style="font-size:20px;font-weight:800;color:#1B4F8A">The exact stock count and equivalent part numbers, not just a title and a price.</span><br><span style="font-size:14px;color:#57534E">Pull any car or motorcycle part category from IC24.UK into a clean table: brand, part number, spec attributes, and image on every run, with price, exact stock quantity, and cross-reference part numbers from other brands as an optional extra.</span></td></tr></table>

<table width="100%"><tr>
<td width="25%" style="padding:16px;background:#FFFFFF;border:1px solid #E2E8F0;border-radius:8px;vertical-align:top"><strong style="color:#1B4F8A">Exact stock counts</strong><br><span style="color:#57534E;font-size:14px">A real number in units, not just an in-stock or out-of-stock flag.</span></td>
<td width="25%" style="padding:16px;background:#FFFFFF;border:1px solid #E2E8F0;border-radius:8px;vertical-align:top"><strong style="color:#1B4F8A">Real cross-references</strong><br><span style="color:#57534E;font-size:14px">Equivalent part numbers from other brands, with the brand name attached.</span></td>
<td width="25%" style="padding:16px;background:#FFFFFF;border:1px solid #E2E8F0;border-radius:8px;vertical-align:top"><strong style="color:#1B4F8A">Full spec attributes</strong><br><span style="color:#57534E;font-size:14px">Every listed attribute (capacity, voltage, fitment, and more) per part.</span></td>
<td width="25%" style="padding:16px;background:#FFFFFF;border:1px solid #E2E8F0;border-radius:8px;vertical-align:top"><strong style="color:#1B4F8A">Clean price data</strong><br><span style="color:#57534E;font-size:14px">Price, currency, and availability, ready to drop into a spreadsheet.</span></td>
</tr></table>

### 🔍 What does IC24.UK Auto Parts Scraper do?

This Actor extracts car and motorcycle parts from [IC24.UK](https://www.ic24.uk), Inter Cars' UK
parts storefront. Every run returns the part title, brand, part number, image, and every spec
attribute the listing shows, whether you paste in a category page, a manufacturer page, or a
single product link.

Turn on full detail mode and it also visits each part's own page for price, currency, exact live
stock quantity in units, a full description, every product image, the category path, and
cross-reference part numbers from other brands, when the site lists them.

Runs on the Apify platform, so you get scheduling, an API, and export to JSON, CSV, or Excel with
no extra setup.

### 💡 Why use IC24.UK Auto Parts Scraper?

**Parts resellers and marketplace sellers.** Compare prices and fitment across categories before
you list, and pull spec attributes straight into your own catalog instead of retyping them.

**Repair shops and parts counters.** Look up a part and get its real cross-reference numbers from
other brands in seconds, instead of paging through the site by hand.

**Price and stock monitoring teams.** Schedule runs to track price changes and stock levels over
time, with an exact unit count instead of a vague in-stock badge.

### ⚙️ How to use IC24.UK Auto Parts Scraper

<table width="100%"><tr>
<td width="33%" style="padding:16px;background:#FFFFFF;border:1px solid #E2E8F0;border-radius:8px;vertical-align:top"><strong style="color:#1B4F8A">1. Paste a URL</strong><br><span style="color:#57534E;font-size:14px">A category page, a manufacturer page, or a single product link from IC24.UK.</span></td>
<td width="33%" style="padding:16px;background:#FFFFFF;border:1px solid #E2E8F0;border-radius:8px;vertical-align:top"><strong style="color:#1B4F8A">2. Run the Actor</strong><br><span style="color:#57534E;font-size:14px">Turn on full detail mode if you need price, stock count, or cross-references.</span></td>
<td width="33%" style="padding:16px;background:#FFFFFF;border:1px solid #E2E8F0;border-radius:8px;vertical-align:top"><strong style="color:#1B4F8A">3. Export your data</strong><br><span style="color:#57534E;font-size:14px">Download as JSON, CSV, or Excel, or pull it through the API.</span></td>
</tr></table>

### 📥 Input

Configure the run from the Input tab in Apify Console, or pass the same fields through the API.

| Field | Type | Required | Description |
|---|---|---|---|
| `startUrls` | array of URLs | No | Category pages, manufacturer pages, or product pages on IC24.UK to scrape. |
| `scrapeProductDetails` | boolean | No | Visit each part's own page for price, stock quantity, cross-references, full description, images, and breadcrumb. |
| `maxItems` | integer | No | Maximum total number of parts to scrape across all start URLs. |
| `maxPagesPerSource` | integer | No | Maximum number of result pages to follow for each start URL. |
| `proxyConfiguration` | object | No | Proxy setup. Leave on the default; this site needs it to load real data. |

### 📤 Output

Every part is returned as one row in the dataset. You can download it as JSON, HTML, CSV, XML, or
Excel, or fetch it through the API.

#### Data table

| Field | Type | Description |
|---|---|---|
| `url` | string | Link to the part's own page. |
| `title` | string | Part name. |
| `manufacturer` | string | Brand name. |
| `sku` | string | Part number. |
| `imageUrl` | string | Product image link. |
| `specs` | object | Spec attributes shown on the listing (capacity, voltage, fitment, and more). |
| `category` | string | Product category. *(Full detail mode only.)* |
| `description` | string | Full product description. *(Full detail mode only.)* |
| `price` | number | Price. *(Full detail mode only.)* |
| `currency` | string | Price currency. *(Full detail mode only.)* |
| `availability` | string | Stock status. *(Full detail mode only.)* |
| `stockQuantity` | number | Exact stock count in units. *(Full detail mode only, when shown.)* |
| `images` | array | Every product image. *(Full detail mode only.)* |
| `breadcrumbPath` | array | Full category path. *(Full detail mode only.)* |
| `crossReferences` | array | Equivalent part numbers from other brands, when listed. *(Full detail mode only.)* |
| `sourceUrl` | string | The start URL this part came from. |
| `scrapedAt` | string | When this row was scraped. |

#### Example output

```json
{
    "url": "https://www.ic24.uk/products/g04mha-battery-100ah-800a-l-starting-bat100-800l-jap-4max",
    "title": "Battery 100Ah 800A L+ (starting)",
    "manufacturer": "4MAX",
    "sku": "G04MHA",
    "specs": {
        "Battery capacity [Ah]": "100",
        "Battery CCA [A]": "800",
        "Rated voltage [V]": "12"
    },
    "price": 176.26,
    "currency": "GBP",
    "availability": "InStock",
    "stockQuantity": 9,
    "crossReferences": [
        { "brand": "EXIDE", "partNumber": "D35D10", "title": "Battery 95Ah 760A L+ (starting)" },
        { "brand": "BOSCH", "partNumber": "A8F3EC", "title": "Battery 95Ah 830A L+ (starting)" }
    ]
}
```

### 💰 Pricing

This Actor is pay per result. You only pay for the parts it actually returns; an empty run costs
nothing. There's no subscription. Free plan runs are limited to 25 products per run, 3 runs per
day, and a short wait between runs.

### ⭐ Enjoying IC24.UK Auto Parts Scraper?

If this Actor saved you time, a rating helps other buyers find it and tells us what to build next.
Leave a review from the [Actor's Apify Store page](https://apify.com/getascraper/ic24-uk-auto-parts-scraper).

### 🛠️ Tips for better runs

- Start with `scrapeProductDetails` off to catalog a category fast, then turn it on for the
  specific parts you actually need price and stock data for; it roughly doubles requests per part.
- Narrow `startUrls` to the site's own filtered category views (brand, capacity, vehicle) instead
  of scraping a broad category and filtering afterward.
- Raise `maxPagesPerSource` gradually. Some categories run many pages deep.

### ❓ FAQ

**Does this work without an account on IC24.UK?**
Yes. Everything this Actor extracts is public product data; no login is required.

**Why is price missing from some rows?**
Price, stock quantity, and cross-references only come from a part's own page. Turn on
`scrapeProductDetails` to get them; the default run only visits the listing page.

**Does every part have cross-reference numbers?**
No. Some parts don't list any equivalent numbers on their page, so that field is left out for
those rows instead of being filled with a guess.

**Can I scrape a single part instead of a whole category?**
Yes. Paste the part's own page URL into `startUrls` and it's scraped directly.

### 🔗 Other actors

- [CarParts.com Scraper: Prices, Stock & Specs](https://apify.com/getascraper/carparts-com-scraper) ↗ - the same kind of part-level data, for the US retailer CarParts.com.
- [AutoTrader South Africa Cars Scraper](https://apify.com/getascraper/autotrader-za-cars-scraper) ↗ - vehicle listings instead of parts, for South Africa's largest car marketplace.
- [Cars24 Cars Scraper: India Used Car Listings](https://apify.com/getascraper/cars24-scraper) ↗ - used car listings from India's Cars24 marketplace.
- [Avito Auto Scraper: Парсер Авито Авто](https://apify.com/getascraper/avito-auto-scraper) ↗ - vehicle listings from Russia's largest classifieds site.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/ic24-uk-auto-parts-scraper/changelog.md

# Actor input Schema

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

Category pages, manufacturer pages, or faceted-filter URLs on ic24.uk to scrape. Paste any listing URL from the site, including ones you've already narrowed down using the site's own facets (battery capacity, brand, vehicle, etc). A direct product page URL also works and is scraped on its own.

## `manufacturers` (type: `array`):

Only keep products whose manufacturer/brand name contains one of these (case-insensitive), e.g. "Bosch" or "Denso". Checked against the brand shown on each product's listing card. Leave empty to include every manufacturer. Applied before a product counts toward Max Products, so results always fill up to that cap with matching items.

## `inStockOnly` (type: `boolean`):

Only keep products with at least 1 unit in stock. Stock data only exists on a product's own page, so this is ignored unless "Scrape Full Product Details" below is also enabled -- and since it filters after fetching each product's page, a run may return fewer than Max Products if many candidates are out of stock.

## `minStockQuantity` (type: `integer`):

Only keep products with at least this many units in stock (e.g. 5 to skip listings with just 1-2 left). Same detail-page dependency as "In Stock Only" above -- ignored unless "Scrape Full Product Details" is enabled. Leave at 0 to disable this filter.

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

ic24.uk is behind Cloudflare and blocks plain requests and residential IPs alike with a bot-verification page. This Actor only gets real product data through Apify's UNBLOCKER proxy group, confirmed live, so leave this on the default unless you know what you're changing.

## `scrapeProductDetails` (type: `boolean`):

Visit each product's own page for price, currency, stock status, exact live stock quantity in units (not just an in-stock/out-of-stock flag), cross-reference and equivalent part numbers from other brands, part number (SKU), full description, every product image, and the full category breadcrumb. None of these are available from the listing page alone, which only carries title, brand, image, and spec attributes. Also required for the stock filters above to have any effect. Roughly doubles requests per item, so it defaults off.

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

Maximum total number of products to scrape across all start URLs combined. Keep this low for a first test run; raise it once you've confirmed the output looks right.

## `maxPagesPerSource` (type: `integer`):

Maximum number of paginated result pages to follow for each start URL. Some categories run 10+ pages; this caps how deep the crawler goes into any single one before moving to the next source.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.ic24.uk/car-batteries"
    }
  ],
  "manufacturers": [],
  "inStockOnly": false,
  "minStockQuantity": 0,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "UNBLOCKER"
    ]
  },
  "scrapeProductDetails": false,
  "maxItems": 20,
  "maxPagesPerSource": 3
}
```

# Actor output Schema

## `results` (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 = {
    "startUrls": [
        {
            "url": "https://www.ic24.uk/car-batteries"
        }
    ],
    "manufacturers": [],
    "inStockOnly": false,
    "minStockQuantity": 0,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "UNBLOCKER"
        ]
    },
    "scrapeProductDetails": false,
    "maxItems": 20,
    "maxPagesPerSource": 3
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/ic24-uk-auto-parts-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://www.ic24.uk/car-batteries" }],
    "manufacturers": [],
    "inStockOnly": False,
    "minStockQuantity": 0,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["UNBLOCKER"],
    },
    "scrapeProductDetails": False,
    "maxItems": 20,
    "maxPagesPerSource": 3,
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/ic24-uk-auto-parts-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://www.ic24.uk/car-batteries"
    }
  ],
  "manufacturers": [],
  "inStockOnly": false,
  "minStockQuantity": 0,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "UNBLOCKER"
    ]
  },
  "scrapeProductDetails": false,
  "maxItems": 20,
  "maxPagesPerSource": 3
}' |
apify call getascraper/ic24-uk-auto-parts-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/ic24-uk-auto-parts-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/baIoay5EhHh8322dN/builds/ajgtcrsXe39bJOY0r/openapi.json
