# HipComic Scraper — Comic Prices, Listings & Seller Data (`scrapersdelight/hipcomic-scraper`) Actor

Scrape HipComic collectible-comic listings — title, price, seller, condition, country & photos — by keyword or seller. No login or API key. Schedule it as a new-listing / price-drop monitor with Slack, email & webhook alerts. $4 per 1,000 listings.

- **URL**: https://apify.com/scrapersdelight/hipcomic-scraper.md
- **Developed by:** [Scrapers Delight](https://apify.com/scrapersdelight) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 per record returneds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## 📚 HipComic Scraper — Comic Book Marketplace Listings & Price Monitor

**Scrape live HipComic.com collectible comic-book listings — title, price, seller, grade/condition, and photos — by keyword or seller. Then run it on a schedule as a new-listing / price-drop monitor that pings Slack, email, or webhook the moment a book you want is listed, so you grab it first.**

Turn a leading comic marketplace into a clean dataset or a real-time deal alert. No login, no browser automation — listing title, price, seller and photo come straight from the server-rendered grid.

***

### What does HipComic Scraper do?

HipComic Scraper extracts **collectible comic-book listings** from [HipComic.com](https://www.hipcomic.com) and returns clean, structured rows you can export to **JSON, CSV, Excel, or push to your app via API**. Golden, Silver, Bronze and Modern age, keys, runs, slabs and raw — across listings from hundreds of dealers.

- 🔎 **Search by keyword** — titles & issue numbers ("amazing spider-man 1", "x-men 94", "batman 1940"). Server-side.
- 🏪 **Scope to a seller** — pull a single dealer's entire store.
- 💵 **Price + type** — fixed-price (buyout) and auction listings, with a price-band filter.
- 🏷️ **Seller, condition/grade, item specifics** — the detail collectors compare on.
- 🖼️ **Full photo gallery** — every image on the listing.
- 🔔 **New-listing & price monitor** — schedule it and get **Slack / email / webhook alerts** when a matching book is listed or a watched listing's price changes.

***

### What data does it extract?

For every comic listing:

- 🆔 `listing_id`, 🔗 `lot_url`, 🏷️ `title`
- 💵 `price`, `price_type` (fixed / auction)
- 🏪 `seller`, 🧾 `condition`, 📋 `specifics{}`
- 📝 `description`, 🖼️ `images[]`, `thumbnail`
- ⭐ `sponsored`, ✨ `is_new` (monitor mode), 🕒 `scraped_at`

***

### Who is it for?

- 🦸 **Collectors** hunting specific keys, runs, or grades — alerted the moment one lists.
- 🛒 **Dealers & resellers** monitoring market pricing and competitor inventory.
- 💹 **Investors** tracking price trends on key issues and slabbed books.
- 📊 **Price-guide & catalog builders** assembling structured comic datasets.

***

### Two ways to use it

1. **Bulk scrape** — pull every listing for a keyword, price band, or a seller's store into one clean dataset.
2. **New-listing / price monitor** *(the recurring play)* — set `monitorMode: true`, attach an **Apify Schedule**, and the actor alerts **only newly-listed books** (or price changes on your watchlist). Perfect for want-lists.

***

### How to use it (step by step)

1. Click **Try for free**.
2. Enter a **keyword** (e.g. `amazing spider-man 1`) — or a **seller store**, or leave both blank to browse all.
3. *(Optional)* add a price band, listing type, or condition filter.
4. *(Optional)* turn on **Fetch full details** for the full gallery + item specifics.
5. Click **Start**, then open the **Dataset** tab to view/export.
6. *(Optional)* set **monitorMode** + a **Schedule** + an alert channel to get pinged on new listings.

#### Quick start

```json
{ "keyword": "x-men 94", "maxLots": 50 }
```

#### New-listing monitor example

```json
{
  "keyword": "amazing spider-man",
  "monitorMode": true,
  "alertOnNewLot": true,
  "slackWebhookUrl": "https://hooks.slack.com/services/%E2%80%A6"
}
```

***

### Input

| Field | What it does |
|-------|--------------|
| `keyword` | server-side keyword search over listing titles |
| `sellerStore` | scope to one dealer's store |
| `priceMin` / `priceMax` | price band filter |
| `listingType` | `all` · `fixed` · `auction` |
| `conditionContains` | client-side title/condition filter (e.g. `cgc`, `9.8`) |
| `sortBy` | `newest` · `price_asc` · `price_desc` · site default |
| `fetchDetails` | add description, item specifics, and the full photo gallery |
| `maxLots` | hard cap per run (0 = unlimited) |
| `monitorMode`, `alertOnNewLot`, `alertOnPriceChange`, `watchlistIds` | recurring watcher + alerts |
| `webhookUrl`, `slackWebhookUrl`, `emailRecipients` | alert channels |
| `proxyConfiguration`, `requestConcurrency` | proxy + parallelism |

***

### Output

Each listing is one dataset record (fields above). Export to **JSON, CSV, Excel, HTML, or RSS**, or fetch via the **Apify API**. Prices are numbers in USD.

***

### How much does it cost?

Pay-per-event — you pay for what you pull, no subscription. Suggested rates:

| Event | What it covers | Suggested price |
|-------|----------------|-----------------|
| `lot-scraped` | each listing returned | ~$0.003 / listing |
| `lot-detail-enriched` | each detail-page fetch | ~$0.003 / listing |
| `monitor-run-completed` | each scheduled watch run | ~$0.05 / run |
| `new-lot-detected` | each newly listed item | ~$0.02 / item |
| `alert-delivered` | each Slack/email/webhook push | ~$0.005 / alert |

*(Final per-event prices are set on the actor's pricing page.)*

***

### Is it legal to scrape HipComic?

HipComic listings are **public e-commerce product data**, browsable without a login, and are item/listing data — not personal data. Scraping publicly available listings is generally legal, but you are responsible for your use: **review the current HipComic Terms of Service before commercial use or resale of the data**.

***

### FAQ

**What is HipComic?**
HipComic.com is an online marketplace dedicated to collectible comic books, hosting listings from hundreds of dealers — raw and graded, every age.

**Do I need an account or login?**
No. The actor reads public listing data directly.

**Can I monitor new listings and get alerts?**
Yes. Turn on `monitorMode`, attach an Apify **Schedule**, and add a Slack/webhook/email channel. Each run alerts **only listings new since the last run** — ideal for a want-list.

**Can I scrape a single dealer's store?**
Yes — set `sellerStore` to the dealer's store name.

**Does it return photos and item specifics?**
Yes — `thumbnail` per card, and the full `images[]` gallery plus condition/grade `specifics` when `fetchDetails` is on.

**How do I export the data?**
JSON, CSV, Excel, HTML, or RSS from the Dataset tab, or via the Apify API.

***

### You might also like

- 📮 **HipStamp Scraper** — the same engine for collectible stamps (HipStamp.com)
- 📯 **HipPostcard Scraper** — the same engine for collectible postcards (HipPostcard.com)
- 🔨 Auction & marketplace scrapers for other collectibles verticals

***

### Feedback

Found a missing field or want a new filter? Open an issue on the actor — fast fixes and feature requests welcome.

# Actor input Schema

## `keyword` (type: `string`):

Free-text query (server-side) matched against listing titles, e.g. 'amazing spider-man 1', 'x-men 94', 'batman 1940'. Leave empty to browse everything.

## `sellerStore` (type: `string`):

Optional: scope to a single HipComic seller store by its store name (from /store/{name}). Leave empty for the whole marketplace.

## `priceMin` (type: `integer`):

Only keep listings priced at/above this. Leave empty for no floor.

## `priceMax` (type: `integer`):

Only keep listings priced at/below this — bargain filter. Leave empty for no cap.

## `listingType` (type: `string`):

Keep fixed-price (buyout) listings, auction listings, or all.

## `conditionContains` (type: `string`):

Optional client-side filter: keep only listings whose title/condition contains this text (e.g. 'mint', 'used', 'MNH').

## `sortBy` (type: `string`):

Client-side ordering of the output.

## `fetchDetails` (type: `boolean`):

Open each listing's detail page for the full description, item specifics (condition, country, etc.) and the complete photo gallery. One extra request per listing.

## `maxLots` (type: `integer`):

Hard cap on listings scraped this run (cost/safety guard). Defaults to 50 for a fast first run — set to 0 for an unlimited bulk scrape of the whole scope.

## `monitorMode` (type: `boolean`):

Recurring watcher: diff against the prior run's seen listings (per scope) and output/alert ONLY newly-listed items. Pair with an Apify Schedule.

## `alertOnNewLot` (type: `boolean`):

In monitor mode, deliver an alert for each newly-listed item via the channels below.

## `alertOnPriceChange` (type: `boolean`):

Also alert when the price changes on a watched listing (see watchlist IDs).

## `watchlistIds` (type: `array`):

Specific listing ids to track for price changes when 'Alert on price changes' is on.

## `webhookUrl` (type: `string`):

POST endpoint for new-listing alert payloads (Make / Zapier / n8n / custom).

## `slackWebhookUrl` (type: `string`):

Slack incoming-webhook URL for formatted new-listing cards.

## `emailRecipients` (type: `array`):

Email addresses for the new-listing digest (sent via apify/send-mail).

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

Proxy settings. Datacenter rotation is usually enough; switch to residential if you hit blocks at high volume.

## `residentialFallback` (type: `boolean`):

HipComic refuses roughly a third of shared-datacenter IPs. When on (recommended), a page that is still blocked after 4 fresh shared IPs is retried on 2 fresh US residential IPs, which measured 8/8 success. Only the blocked minority of requests uses residential bandwidth. Turn off to stay strictly on the proxies you selected above.

## `requestConcurrency` (type: `integer`):

Max parallel detail-page fetches. Keep modest to respect the site.

## `diagnose` (type: `boolean`):

Dev only. Dumps raw browse + detail HTML to the key-value store and logs the parsed first row + pagination check, then exits.

## Actor input object example

```json
{
  "listingType": "all",
  "sortBy": "default",
  "fetchDetails": true,
  "maxLots": 50,
  "monitorMode": false,
  "alertOnNewLot": true,
  "alertOnPriceChange": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "residentialFallback": true,
  "requestConcurrency": 5,
  "diagnose": false
}
```

# Actor output Schema

## `listings` (type: `string`):

The dataset of scraped listings (one item per listing).

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapersdelight/hipcomic-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("scrapersdelight/hipcomic-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 '{}' |
apify call scrapersdelight/hipcomic-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapersdelight/hipcomic-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/6sB1QN6sK5Jh22Ros/builds/aZYXXthDLxXl1e96V/openapi.json
