Tesco Clubcard Scraper avatar
Tesco Clubcard Scraper

Pricing

Pay per usage

Go to Apify Store
Tesco Clubcard Scraper

Tesco Clubcard Scraper

This Apify Actor logs into Tesco Clubcard and loads your points data from itesco.cz. It captures your current points balance, the active period end date, and your full points transaction history. Use it to reliably pull Clubcard points details into structured JSON for analysis or automation.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Jan

Jan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Tesco Clubcard Scraper (Czech Republic)

An Apify Actor that scrapes Tesco Clubcard account data from itesco.cz. It extracts your current points balance, period end date, and complete transaction history.

Features

  • Logs into your Tesco Clubcard account on itesco.cz
  • Extracts current points balance
  • Retrieves the end date of the current points period
  • Fetches all historical periods with their validity dates
  • Collects all transactions with points gained for each period
  • Uses Camoufox (stealthy Firefox fork) for anti-detection
  • Returns all data in a single JSON output

Input

The Actor requires your Tesco Clubcard login credentials:

FieldTypeRequiredDescription
emailstringYesYour Tesco Clubcard account email address
passwordstringYesYour Tesco Clubcard account password
debugbooleanNoSave debug screenshots for troubleshooting (default: false)

Example Input

Create an INPUT.json file (this file is git-ignored to protect your credentials):

{
"email": "your-email@example.com",
"password": "your-password"
}

Important: Never commit your INPUT.json file to version control. It's already added to .gitignore.

Output

The Actor produces a single JSON output with the following structure:

{
"success": true,
"currentPoints": 101,
"periodEndDate": "31.05.2026",
"periods": [
{
"validity": {
"from": "26.01.2026",
"to": "31.05.2026"
},
"totalPoints": 101,
"transactions": [
{
"date": "31.01.2026",
"points": 13,
"description": "TESCO Trutnov"
},
{
"date": "31.01.2026",
"points": 46,
"description": "TESCO Trutnov"
},
{
"date": "27.01.2026",
"points": 42,
"description": "Prevedeno do dalšího období"
}
]
},
{
"validity": {
"from": "29.09.2025",
"to": "25.01.2026"
},
"totalPoints": 642,
"transactions": [
{
"date": "20.01.2026",
"points": 122,
"description": "TESCO Trutnov"
}
]
}
],
"error": null
}

Output Fields

FieldTypeDescription
successbooleanWhether the scraping completed successfully
currentPointsnumber | nullCurrent Clubcard points balance
periodEndDatestring | nullEnd date of the current points period (format: DD.MM.YYYY)
periodsarrayArray of historical periods
periods[].validity.fromstringPeriod start date (format: DD.MM.YYYY)
periods[].validity.tostringPeriod end date (format: DD.MM.YYYY)
periods[].totalPointsnumber | nullTotal points earned in this period
periods[].transactionsarrayArray of transactions in this period
periods[].transactions[].datestringTransaction date (format: DD.MM.YYYY)
periods[].transactions[].pointsnumberPoints gained from this transaction
periods[].transactions[].descriptionstringTransaction description (store name or transfer note)
errorstring | nullError message if scraping failed

Running Locally

  1. Install dependencies:

    $npm install
  2. Create your INPUT.json file with your credentials (see Input section above)

  3. Copy the INPUT.json to the storage directory:

    mkdir -p storage/key_value_stores/default
    cp INPUT.json storage/key_value_stores/default/INPUT.json
  4. Run the Actor:

    $npm start

The output will be saved to:

  • storage/key_value_stores/default/OUTPUT.json - Main JSON output
  • storage/datasets/default/ - Dataset output

Deploy to Apify

Option 1: Connect Git Repository

  1. Push your code to a Git repository (GitHub, GitLab, etc.)
  2. Go to Actor creation page
  3. Click Link Git Repository
  4. Follow the setup wizard

Option 2: Push from Local Machine

  1. Log in to Apify:

    $apify login
  2. Deploy the Actor:

    $apify push

Security Notes

  • Never commit your credentials - The INPUT.json file is git-ignored
  • Use Apify's secret input - When running on Apify platform, use the secret input feature for passwords
  • This Actor only reads data from your account, it does not modify anything

Technical Details

Troubleshooting

Login fails

  • Verify your email and password are correct
  • Check if Tesco's website is accessible
  • Enable debug mode ("debug": true in input) to save screenshots for investigation
  • The Actor saves an error screenshot if login fails (check ERROR_SCREENSHOT in key-value store)

No data returned

  • Ensure you have an active Clubcard account
  • Check if there are any points or transactions in your account
  • Enable debug mode to inspect page screenshots

Empty credentials error

  • Make sure to provide both email and password in the input
  • If credentials are not provided, the Actor returns empty data with an error message

License

ISC