# Denogames Ulrs Script (`hello.datawizards/denogames-ulrs-script`) Actor

Extract detailed board game data from Denogames product URLs using clean, structured JSON. Get titles, descriptions, images, difficulty, duration, and ratings with proxy support. Ideal for game catalogs, analytics, automation, and e-commerce insights.

- **URL**: https://apify.com/hello.datawizards/denogames-ulrs-script.md
- **Developed by:** [datawizards](https://apify.com/hello.datawizards) (community)
- **Categories:** E-commerce, Automation, Lead generation
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 results

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?

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

***

## 🎲 Denogames-Urls · Apify Actor

Extract **detailed board game and tabletop product data** from **Denogames product URLs** into clean, structured JSON.
Perfect for **game researchers, e-commerce platforms, review aggregators, and analytics dashboards**.

Built and maintained by **[DataWizards](https://linkedin.com/in/data-wizards-aa8080342)**.

***

### 📌 What Is `Denogames-Urls`?

The **Denogames-Urls Apify Actor** is designed to scrape **rich product metadata** directly from individual Denogames product pages.

By simply providing one or more Denogames product URLs, this actor extracts **game titles, descriptions, images, ratings, difficulty levels, and more**, delivering them in a clean, developer-friendly JSON format — no manual work required.

This actor is ideal for:

- Board game cataloging
- Game discovery platforms
- Market research
- Content aggregation
- Automated data pipelines

***

### 🧠 Key Features

✅ **Structured JSON Output**
✅ Extracts **game title, description, images, difficulty, duration, and ratings**
✅ Supports **multiple product URLs**
✅ High-quality scraping with **Apify Residential Proxies**
✅ Lightweight, fast, and scalable
✅ Developer-friendly & automation-ready

***

### 🛠️ Input Schema

Provide the Denogames product URLs you want to scrape along with proxy configuration.

```json
{
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  },
  "ListingUrls": [
    "https://www.denogames.com/product-details/monstermixology"
  ]
}
```

#### 🔐 Proxy Configuration (Recommended)

- **useApifyProxy**: `true` (strongly recommended)
- **apifyProxyGroups**:

  - `"RESIDENTIAL"` → best success rate, minimal blocking

***

### 📤 Output Example

```json
[
  {
    "title": "Monster Mixology",
    "description": "Monster Mixology is fun, fast-paced, push your luck style game for 1-6 players. You'll be collecting weird ingredients and use them to serve cocktails to random monsters that show up at your bar.",
    "type": "game",
    "image_url": [
      "https://firebasestorage.googleapis.com/v0/b/denogames-7c4dc.appspot.com/o/products%2Fmonstermixology%2Fcomponents%2F1743616867838_game.png?alt=media",
      "https://firebasestorage.googleapis.com/v0/b/denogames-7c4dc.appspot.com/o/products%2Fmonstermixology%2Frulebook-cover.png?alt=media"
    ],
    "difficulty": "easy",
    "duration": "min-10 - max 60",
    "averageRating": 5,
    "totalReviews": 1
  }
]
```

***

### 🚀 Use Cases

🎯 **Board Game Databases** – Build structured game catalogs
🛒 **E-commerce Intelligence** – Sync product content automatically
📊 **Analytics & Dashboards** – Track ratings, duration, and difficulty
🧠 **Game Recommendation Engines** – Enrich datasets with real product info
🤖 **Automation Pipelines** – Feed clean JSON into APIs or BI tools

***

### ✅ Best Practices

✔ Always use **Residential proxies** for stable scraping
✔ Ensure URLs are valid Denogames product pages
✔ Batch multiple URLs to reduce run overhead
✔ Avoid excessive re-runs on the same URLs
✔ Validate output before production usage

***

### 🔄 Customization & Changes

Need:

- Additional fields?
- Simplified output?
- Custom formats?
- Actor enhancements?

💡 **DataWizards are always ready for you.**
We actively support customization and improvements based on real-world needs.

***

### 🤝 Support & Contact

For **custom outputs, simplified schemas, bug reports, or feature requests**, reach out to us:

📩 **Email**: <hello.datawizard@gmail.com>
✉️ **Email Subject**:

```
Denogames-Urls Actor – Support Request
```

🔗 **LinkedIn**:
<https://linkedin.com/in/data-wizards-aa8080342>

***

### 🧰 Need Something More?

Whether you’re:

- Building a **custom scraper**
- Integrating Denogames data into your platform
- Automating large-scale data extraction
- Simplifying JSON for downstream systems

✨ **DataWizards have you covered.**

***

### 🐞 Feedback & Bug Reports

Found a bug or want an enhancement?

📧 Email: `hello.datawizard@gmail.com`
✉️ **Subject**:

```
Bug Report – Denogames-Urls Actor
```

Or report directly via **Apify issues**.

***

### 🔍 SEO Keywords

`Denogames scraper`, `board game data extractor`, `Denogames product API`,
`Apify game scraper`, `tabletop game metadata`, `game listing scraper`,
`board game analytics`, `structured game JSON`, `Denogames URLs extractor`

***

# Actor input Schema

## `ListingUrls` (type: `array`):

The listing urls for the spider.

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

Specifies proxy servers that will be used by the scraper in order to hide its origin.

## Actor input object example

```json
{
  "ListingUrls": [
    "https://www.denogames.com/product-details/monstermixology"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("hello.datawizards/denogames-ulrs-script").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 = { "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    } }

# Run the Actor and wait for it to finish
run = client.actor("hello.datawizards/denogames-ulrs-script").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 '{
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call hello.datawizards/denogames-ulrs-script --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hello.datawizards/denogames-ulrs-script"
        }
    }
}
```

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/Dsfl6tHVUHeEdBS18/builds/msbGgPBFhdDWlMfxN/openapi.json
