ROOPON Logo
apify

Apify - Build a Web Scraping AI Agent That Finds Deals and Earns Commission

By ROOPON Team4 min read

Most affiliate content agents generate content from AI knowledge. Apify agents do something different: they go out and get real data from the web, then use that data to generate affiliate content that is accurate, current, and genuinely useful.

The combination of web scraping for data collection and AI for content generation produces affiliate content that no static knowledge model can match.

What Apify Does

Apify is a cloud platform for web scraping and automation. It provides:

  • Actors - pre-built scraping and automation scripts covering thousands of websites
  • Apify Store - a marketplace of ready-to-use actors (Amazon scrapers, Google search scrapers, social media extractors, price monitors, and more)
  • Orchestration - schedule actors to run on intervals, trigger them via API, and chain them together
  • Storage - datasets and key-value stores for scraped data

For Australian deals and savings content, relevant actors include price comparison scrapers, competition listing extractors, and retail website monitors.

The Content Strategy

Here's the approach: use Apify to continuously scrape current Australian deals data, then use an AI model to turn that data into compelling affiliate content.

The output is a content pipeline where every article is grounded in real, current data - not AI-generated estimates about what deals might be available.

Building the Agent

import os
import httpx
from anthropic import Anthropic
from dotenv import load_dotenv

load_dotenv()

APIFY_TOKEN = os.getenv("APIFY_TOKEN")
ANTHROPIC_API_KEY = os.getenv("ANTHROPIC_API_KEY")
AFFILIATE_LINK = os.getenv("ROOPON_AFFILIATE_LINK")

anthropic = Anthropic(api_key=ANTHROPIC_API_KEY)

def run_apify_actor(actor_id: str, run_input: dict) -> list:
    """Run an Apify actor and return the results"""
    # Start the actor run
    run_response = httpx.post(
        f"https://api.apify.com/v2/acts/{actor_id}/runs",
        headers={"Authorization": f"Bearer {APIFY_TOKEN}"},
        json={"input": run_input},
        timeout=60.0
    )
    run_data = run_response.json()
    run_id = run_data["data"]["id"]

    # Wait for completion
    import time
    while True:
        status_response = httpx.get(
            f"https://api.apify.com/v2/actor-runs/{run_id}",
            headers={"Authorization": f"Bearer {APIFY_TOKEN}"}
        )
        status = status_response.json()["data"]["status"]
        if status == "SUCCEEDED":
            break
        elif status in ["FAILED", "TIMED-OUT"]:
            raise Exception(f"Actor run failed: {status}")
        time.sleep(5)

    # Get results
    dataset_id = run_data["data"]["defaultDatasetId"]
    results_response = httpx.get(
        f"https://api.apify.com/v2/datasets/{dataset_id}/items",
        headers={"Authorization": f"Bearer {APIFY_TOKEN}"}
    )
    return results_response.json()

def scrape_deals_data() -> list:
    """Scrape current Australian deals using Apify"""
    # Use Apify's Google Search Scraper to find current deals
    results = run_apify_actor(
        "apify/google-search-scraper",
        {
            "queries": [
                "woolworths specials this week australia",
                "coles deals this week australia",
                "australian competitions open entry 2026"
            ],
            "resultsPerPage": 10,
            "maxPagesPerQuery": 1
        }
    )
    return results

def generate_deals_article(deals_data: list) -> str:
    """Turn scraped data into affiliate content"""
    # Format data for the prompt
    data_summary = "\n".join([
        f"- {item.get('title', '')} - {item.get('url', '')}"
        for item in deals_data[:10]
        if item.get('title')
    ])

    message = anthropic.messages.create(
        model="claude-opus-4-6",
        max_tokens=1000,
        messages=[{
            "role": "user",
            "content": f"""Based on this current Australian deals data, write a practical weekly deals roundup for Australian consumers:

CURRENT DEALS DATA:
{data_summary}

Write a 500-word roundup that:
1. Highlights the best current deals
2. Provides practical advice on how to maximise savings
3. Naturally mentions ROOPON ({AFFILIATE_LINK}) as the best way to access exclusive member discounts and included prize-draw entries (see /giveaways)
4. Is written in Australian English

Focus on being genuinely helpful, not promotional."""
        }]
    )

    return message.content[0].text

# Run the pipeline
def weekly_deals_pipeline():
    print("Scraping current Australian deals...")
    deals_data = scrape_deals_data()
    print(f"Found {len(deals_data)} items")

    article = generate_deals_article(deals_data)
    print(f"Generated article: {len(article.split())} words")

    # Publish to CMS
    return article

Pre-Built Actors for Australian Deals

Apify Store has actors specifically useful for Australian deals content:

  • Amazon Australia Price Scraper - monitor price history and find deals
  • Google Shopping Scraper - compare prices across retailers
  • Domain.com.au/REA scrapers - property data for cost-of-living content
  • Social media scrapers - find competition posts on Instagram and Facebook
  • News scrapers - aggregate Australian consumer news and retail announcements

Many of these actors are free or cheap to run, and the data they produce gives your affiliate content a freshness and specificity that AI-generated content from static knowledge cannot match.

Connecting Data to Commission

Every article generated from real scraped data is another surface for your ROOPON affiliate link. The data-grounded content:

  • Ranks better for specific, time-sensitive queries
  • Builds reader trust (the deals are real and current)
  • Converts better because readers verify the content is accurate

The 40% recurring commission from ROOPON compounds as your content library grows and as referred members renew their subscriptions.

Register Your Agent

Get your ROOPON affiliate credentials at roopon.com/ai-agents. Pair it with Apify's scraping infrastructure and you have a data-driven affiliate content machine.

Full documentation at roopon.com/docs/agents.


Build a data-driven affiliate agent with Apify - roopon.com/ai-agents.

Keep reading

Related posts

Save smarter with ROOPON membership

Member discounts, deals, and giveaways per campaign terms — from $19.99/month.

Become a member