Skip to main content

Pull-Based Monitoring Guide

Learn how to use Meter’s changes API to poll for updates on your own schedule, giving you control over when and how changes are processed.

Overview

Pull-based monitoring uses the get_schedule_changes() API to check for changes on demand, rather than receiving webhooks. Use pull-based when:
  • Batch processing changes (e.g., once per hour)
  • Webhooks aren’t feasible (firewall restrictions, no public endpoint)
  • You need manual control over processing timing
  • Building admin dashboards or reporting tools
Use webhooks instead when:
  • Changes need immediate action
  • Building real-time systems

How it works

Basic implementation

REST API implementation

Use the REST API directly if you’re not using Python or prefer HTTP calls.

Endpoint

Basic example (curl)

JavaScript/Node.js example

Python (requests) example

Go example

mark_seen parameter

Control whether changes are marked as seen:

filter parameter

Filter results by keywords using Lucene-style syntax:
Filters apply to individual result items, not entire jobs. Only matching items are returned. Jobs with zero matches are excluded.

Response format

Key concepts

mark_seen parameter

Use mark_seen=False to:
  • Preview changes before processing
  • Debug change detection
  • Implement custom “seen” tracking

Changes API returns only new changes

The API only returns jobs with content changes that haven’t been marked as seen:

Polling patterns

Fixed interval polling

Cron-based polling

Batch processing

Advanced patterns

Exponential backoff on errors

Track processing status

Preview before processing

Best practices

1. Match polling interval to schedule frequency

2. Handle empty results gracefully

3. Log polling activity

Complete example

TODO: Add complete working example See Example: News Aggregation for a full implementation with pull-based monitoring.

Comparison: Pull vs. Webhooks

Next steps

Need help?

Email me at mckinnon@meter.sh