Use case

Poll the Shopify Admin API every few minutes, in your store's timezone.

Shopify Flow is wonderful for reacting to store events. It is not a scheduler for arbitrary REST calls. When you need a GET against the Admin API every 10 minutes per shop in the shop's local time, Crontap is the clock.

Get started

Free plan · no credit card required

The problem

Why this is painful without the right tool

  • You want to poll the Admin API checkouts endpoint every 10 minutes but Shopify Flow cannot do this on a per-shop custom cadence.
  • You are running several dev and test shops, and each wants a different cadence in a different timezone.
  • Your store runs in Europe/Berlin but your SaaS platform wants UTC, and the cron has to be on store time, not server time.
  • Your Shopify App's internal scheduler (if it has one) is proprietary and does not expose a dashboard you can show your team.

The fix

How Crontap solves it

Give each shop its own Crontap schedule with its own IANA timezone and its own created_at_min window logic. Crontap stores the X-Shopify-Access-Token header on the schedule and hits the API at cadence; failures alert to email / webhook (Slack / Discord / Telegram).

cron expression
*/10 * * * *
Every 10 minutes, poll checkouts on this shop in Europe/Berlin (or whatever the store's actual business timezone is).

One concrete pattern from the dataset: 20 Shopify Admin API checkout-polling jobs across multiple merchant timezones (Europe/Berlin, Australia/Sydney, Europe/Paris, US/Eastern). The shape is the same on every shop:

GET /admin/api/2024-01/checkouts.json?created_at_min=...&limit=250

The created_at_min window changes per run (your wrapper endpoint computes it from the previous run's timestamp), and the timezone on the schedule is the shop's local business clock, not UTC. For a multi-shop rollout, one Crontap schedule per shop carrying that shop's access token and IANA timezone gives a per-shop cadence that Shopify Flow cannot match.

FAQ

Common questions

Can Crontap call Shopify as an app, not as the store owner?
Yes. Paste the access token (private app or custom app token) into the Authorization header slot on the schedule. Crontap sends it on every run, just like any other HTTPS client.
Does Crontap respect Shopify API rate limits?
Crontap retries on 429 with back-off; you control the base cadence. If you are polling the same endpoint across many shops, stagger the schedules' cron offsets so they do not all fire at the same minute mark.
Can I change `created_at_min` dynamically per run?
Yes, with a small wrapper endpoint on your side; some teams use a Cloudflare Worker or a Railway API in front of the Shopify call. Crontap fires the wrapper, the wrapper computes the window, the wrapper hits Shopify. One layer of indirection, full control of the windowing logic.

Ready to fix it?

Point Crontap at any URL. Pick any cron. Done.

WordPress, Shopify, Railway, Cloud Run, Vercel, HubSpot, Ghost, your own box. If it answers HTTP, Crontap can drive it on a clock you can read, in the timezone that actually matters, and page you when something breaks.

Free forever tier ・ No credit card required

GET

/wp-cron.php?doing_wp_cron=1

Running
Your next schedule

Schedule

"every 5 minutes"

Next

in 23s