{"items":[{"id":"schedulers/upstash-qstash-schedules","slug":"upstash-qstash-schedules","category":"schedulers","access":"unconditional","accessBucket":"free","name":"Upstash | QStash","provider":"Upstash","planName":"freemium","kind":"HTTP scheduler / delivery queue","description":"Managed HTTP messaging, schedules, queues, retries, callbacks, and failure handling for serverless automation.","logo":"/logos/upstash.svg","url":"https://upstash.com/docs/qstash/features/schedules","freeLimit":"Free tier: 1,000 messages/day, 10 active schedules, 10 queues, 2 queue parallelism, 1 MB max message size, and 15 min max HTTP response duration.","bestFor":"Declarative cron-to-webhook schedules, delayed jobs, retries, callbacks, and queue delivery without running a resident worker.","caveats":"It delivers HTTP messages; it does not run arbitrary code by itself. Your target endpoint, workflow, or box handler must be reachable and idempotent. Each retry counts as another message.","sourceUrl":"https://upstash.com/pricing/qstash","offerFacts":[{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Cron schedules for recurring HTTP calls","Retries, callbacks, and failure callbacks","Queues with controlled parallelism","Good fit for syncing Notion rules into real schedules"],"tags":["http","cron","queue","retries","serverless","scheduler"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"Free tier resets daily at 1,000 deliverable HTTP messages; each retry attempt counts as an additional message toward the cap.","label":"1,000 messages/day","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable","unit":"messages/day","value":1000},{"detail":"Only 10 cron schedules can be active simultaneously on the free tier; paid plans allow up to 1,000+.","label":"10 active schedules","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"schedules","value":10},{"detail":"The free tier is capped at 10 queues total; the Pay-as-You-Go tier allows 100.","label":"10 queues max","renewable":false,"sentiment":"neutral","severity":"low","type":"single_resource_cap","unit":"queues","value":10},{"detail":"Queues process only 2 messages in parallel on the free tier; paid tiers go up to 10-1,000.","label":"2 queue parallelism","renewable":false,"sentiment":"neutral","severity":"medium","type":"performance_throttled","unit":"parallel workers","value":2},{"detail":"Messages larger than 1 MB are rejected with HTTP 412; paid tiers allow 10-50 MB.","label":"1 MB max message size","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted","unit":"MB","value":1},{"detail":"Scheduled messages can be delayed at most 7 days into the future on the free tier; paid tiers allow up to 1 year or unlimited.","label":"7-day max message delay","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted","unit":"days","value":7},{"detail":"Target endpoints must respond within 15 minutes; paid tiers extend this to 2-12 hours.","label":"15 min HTTP response timeout","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted","unit":"minutes","value":15},{"detail":"Dead-letter queue entries are retained for only 3 days before being purged; paid plans keep them 7-90 days.","label":"3-day DLQ retention","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted","unit":"days","value":3},{"detail":"Delivery event logs are available for only 3 days; paid tiers retain 7-14 days.","label":"3-day log retention","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted","unit":"days","value":3},{"detail":"Free tier includes 50 GB of bandwidth per month, shared with the Pay-as-You-Go tier; overages are billed at $0.05/GB on paid plans.","label":"50 GB bandwidth cap","renewable":true,"sentiment":"neutral","severity":"info","type":"feature_restricted","unit":"GB/month","value":50},{"detail":"Free tier supports only 1 URL group (fan-out topic); paid tiers allow 100-2,000.","label":"1 URL group","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"URL groups","value":1},{"detail":"Free tier carries no uptime SLA; SLA, SOC-2 certification, Prometheus, and Datadog integrations are paid-tier-only.","label":"No uptime SLA","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"}],"keyMetrics":[{"display":"30.0K/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"stated","source":"frontmatter_keyMetrics.executions","unit":"runs/month","value":30000},{"display":"30.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":30},{"display":"13","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"api, cron, failure, history, http, logs, queue, queues, retries, retry","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":13},{"display":"10 jobs","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs","value":10},{"display":"1 min","key":"min_interval","label":"Min interval","unit":"min","value":1},{"display":"30K/mo","key":"executions","label":"Executions","note":"1,000/day","unit":"runs/mo","value":30000},{"display":"3-day log","key":"history_retention","label":"Run history","unit":"logs"},{"display":"15 min","key":"timeout","label":"Job timeout","unit":"min","value":15}],"verified":true,"timestamp":"2026-06-17T00:00:00+00:00","verifiedAt":"2026-06-17","badges":["π’ Free forever","π’ Commercial OK","π Single resource"],"auditNote":"no FPS in parallel report β used audit recommendation","valueModel":{"bucket":"free","calc":{"allowance_usd_mo":1.01,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":7,"unit":"score","value":7,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":7,"unit":"$/mo","value":1.006},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":6,"unit":"score","value":6},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8.3,"unit":"score","value":8.3}],"required_axis_count":3,"score":7,"score_formula":"weighted_components_v1","value":1.006,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"cron_jobs","source":"frontmatter_keyMetrics","unit":"jobs","value":10},{"key":"job_run","source":"frontmatter_keyMetrics","unit":"runs/mo","value":30000}],"raw":{"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/cloudflare-workers-cron","slug":"cloudflare-workers-cron","category":"schedulers","access":"unconditional","accessBucket":"free","name":"Cloudflare Workers Cron Triggers","provider":"Cloudflare Workers Cron Triggers","planName":"freemium","kind":"Edge cron function","description":"Run a Worker on cron expressions for lightweight scheduled API and automation tasks.","logo":"/logos/cloudflare.svg","url":"https://developers.cloudflare.com/workers/configuration/cron-triggers/","freeLimit":"Available with Workers; request, CPU, and schedule limits depend on the current Cloudflare plan.","bestFor":"Small scheduled scripts, API polling, webhook fan-out, cache refreshes, and daily digests.","caveats":"Cron Triggers execute on UTC time and are not a long-running container runtime.","sourceUrl":"https://developers.cloudflare.com/workers/configuration/cron-triggers/","offerFacts":[{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"daily","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Native scheduled() handler","Runs at the edge without an always-on server","Good default for lightweight cron code"],"tags":["edge","cron","typescript","http","cloudflare"],"pricingModel":"freemium","renewal":"daily","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"The free plan allows up to 100,000 total Worker invocations per day, shared across all Workers including Cron Trigger executions; resets daily at 00:00 UTC.","label":"100,000 Worker requests/day","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable","unit":"requests/day","value":100000},{"detail":"Each free-tier Worker invocation is capped at 10 milliseconds of CPU time, making it unsuitable for compute-heavy scheduled jobs.","label":"10 ms CPU time per invocation","renewable":true,"sentiment":"neutral","severity":"high","type":"rate_limit","unit":"ms CPU/invocation","value":10},{"detail":"Durable Objects (used for stateful or long-running cron workflows) require the Workers Paid plan; free tier supports SQLite-backed DO only with its own daily limits.","label":"No Durable Objects on free tier","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Workers Trace Events Logpush (for exporting execution logs to external destinations) is only available on the Workers Paid plan.","label":"No Logpush on free tier","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Free plan Workers Logs are retained for only 3 days (vs. 7 days on Paid), limiting post-mortem debugging of scheduled jobs.","label":"Log retention 3 days only","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"days retention","value":3},{"detail":"Free plan allows 200,000 Workers log events written per day; cron-heavy workloads with verbose logging may exhaust this.","label":"200,000 log events/day","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"log events/day","value":200000},{"detail":"KV reads are capped at 100,000/day and writes at 1,000/day on the free plan; cron jobs that store state in KV will hit write limits quickly.","label":"Workers KV: 100K reads/day, 1K writes/day","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable","unit":"KV writes/day","value":1000},{"detail":"Free plan includes 1 GB of total KV stored data; no additional storage can be purchased without upgrading.","label":"Workers KV: 1 GB storage cap","renewable":false,"sentiment":"con","severity":"low","type":"quota_renewable","unit":"GB","value":1},{"detail":"Free plan includes only 10,000 Queue operations per day and limits message retention to 24 hours (non-configurable), making it unsuitable for reliable cron-triggered pipelines.","label":"Queues: 10,000 operations/day","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable","unit":"queue ops/day","value":10000},{"detail":"Free plan Workers run on shared Cloudflare edge infrastructure with no SLA; execution timing for Cron Triggers may drift slightly from the configured schedule.","label":"Shared edge infrastructure","renewable":false,"sentiment":"neutral","severity":"low","type":"performance_throttled"}],"keyMetrics":[{"display":"3.0M/mo","key":"shared_scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"stated","source":"frontmatter_keyMetrics.executions","unit":"runs/month","value":3000000},{"display":"60.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":60},{"display":"6","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"api, cron, history, logs, timeout, webhook","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":6},{"display":"5 jobs","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs","value":5},{"display":"1 min","key":"min_interval","label":"Min interval","unit":"min","value":1},{"display":"3M/mo","key":"shared_executions","label":"Executions","note":"100K req/day shared","unit":"runs/mo","value":3000000},{"display":"100 logs","key":"history_retention","label":"Run history","unit":"logs","value":100},{"display":"15 min","key":"timeout","label":"Job timeout","note":"10 ms CPU","unit":"min","value":15}],"verified":true,"timestamp":"2026-06-16T00:00:00+00:00","verifiedAt":"2026-06-16","badges":["π’ Free forever","π’ Commercial OK"],"valueModel":{"bucket":"free","calc":{"allowance_usd_mo":0.5,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":6.5,"unit":"score","value":6.5,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":6.4,"unit":"$/mo","value":0.5},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":5.5,"unit":"score","value":5.5},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8.3,"unit":"score","value":8.3}],"required_axis_count":3,"score":6.5,"score_formula":"weighted_components_v1","value":0.5,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"cron_jobs","source":"frontmatter_keyMetrics","unit":"jobs","value":5}],"raw":{"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/val-town-cron","slug":"val-town-cron","category":"schedulers","access":"unconditional","accessBucket":"free","name":"Val Town Cron","provider":"Val Town Cron","planName":"freemium","kind":"Hosted script cron","description":"Hosted TypeScript/JavaScript functions with built-in cron triggers for quick automations.","logo":"/logos/val-town.png","url":"https://docs.val.town/vals/cron/","freeLimit":"Free plan supports public vals and cron intervals; private vals and higher frequency require checking the current plan.","bestFor":"Fast prototypes, personal scripts, webhook glue, and small scheduled tasks without setting up a repo deployment.","caveats":"Free-tier public code is not suitable for secrets-heavy private business logic unless secrets stay in environment variables and plan limits fit.","sourceUrl":"https://docs.val.town/vals/cron/","offerFacts":[{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Cron trigger in the editor","Runs hosted JS/TS functions","Very low setup overhead"],"tags":["cron","typescript","scripts","prototype","serverless"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"Free plan allows up to 100,000 val runs per day, resetting each day.","label":"100,000 runs/day","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"runs/day","value":100000},{"detail":"The shortest cron schedule on the free plan is every 15 minutes; sub-15-minute intervals require Pro ($21/mo).","label":"15-min minimum cron interval","renewable":false,"sentiment":"neutral","severity":"medium","type":"rate_limit","unit":"minutes","value":15},{"detail":"Each individual run is hard-killed after 1 minute of wall clock time; Pro extends this to 10 minutes.","label":"1-min wall clock per run","renewable":false,"sentiment":"neutral","severity":"medium","type":"performance_throttled","unit":"minutes/run","value":1},{"detail":"All vals on the free plan must be public; private vals (up to 2,000) require Pro.","label":"No private vals","renewable":false,"sentiment":"neutral","severity":"high","type":"feature_restricted"},{"detail":"Free plan does not support custom domains; HTTP vals are served under val.town subdomains only.","label":"No custom domains","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"The built-in email send feature on the free plan can only send to the account owner's email address.","label":"Email only yourself","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Execution logs are retained for only 3 days on the free plan; Pro offers 10 days.","label":"3-day log retention","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted","unit":"days","value":3}],"keyMetrics":[{"display":"3.0M/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"stated","source":"frontmatter_keyMetrics.executions","unit":"runs/month","value":3000000},{"display":"4.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":4},{"display":"6","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"api, cron, history, logs, timeout, webhook","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":6},{"display":"2.5K jobs","key":"cron_jobs","label":"Cron jobs","note":"each can have a cron trigger","primary":true,"unit":"jobs","value":2500},{"display":"15 min","key":"min_interval","label":"Min interval","unit":"min","value":15},{"display":"3M/mo","key":"executions","label":"Executions","note":"100,000 runs/day","unit":"runs/mo","value":3000000},{"display":"3 logs","key":"history_retention","label":"Run history","unit":"logs","value":3},{"display":"1 min","key":"timeout","label":"Job timeout","unit":"min","value":1}],"verified":true,"timestamp":"2026-06-16T00:00:00+00:00","verifiedAt":"2026-06-16","badges":["π’ Free forever","π’ Commercial OK"],"valueModel":{"bucket":"free","calc":{"allowance_usd_mo":100.6,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":8.3,"unit":"score","value":8.3,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":10,"unit":"$/mo","value":100.6},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":5.5,"unit":"score","value":5.5},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8.3,"unit":"score","value":8.3}],"required_axis_count":3,"score":8.3,"score_formula":"weighted_components_v1","value":100.6,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"cron_jobs","source":"frontmatter_keyMetrics","unit":"jobs","value":2500},{"key":"job_run","source":"frontmatter_keyMetrics","unit":"runs/mo","value":3000000}],"raw":{"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/northflank-cron-jobs","slug":"northflank-cron-jobs","category":"schedulers","access":"unconditional","accessBucket":"free","name":"Northflank Cron Jobs","provider":"Northflank Cron Jobs","planName":"freemium","kind":"Container cron job","description":"Run repository or image-based jobs on a schedule alongside services and databases.","logo":"/logos/northflank-free.png","url":"https://northflank.com/docs/v1/application/run/run-an-image-once-or-on-a-schedule","freeLimit":"Sandbox pricing lists always-on compute, 2 free services, 1 free database, and 2 free cron jobs; verify current free limits.","bestFor":"Running containerized scripts or repo commands on a schedule without managing your own server.","caveats":"Free tier is intended for hobby/testing rather than production, and resource sizes are modest.","sourceUrl":"https://northflank.com/pricing","offerFacts":[{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"none","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Scheduled cron jobs from images or repositories","Works next to services and databases","Free sandbox includes cron jobs"],"tags":["containers","cron","jobs","paas","database"],"pricingModel":"freemium","renewal":"none","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"The Sandbox tier includes exactly 2 free cron job resources; any additional jobs require a paid plan.","label":"2 free cron jobs","renewable":false,"sentiment":"neutral","severity":"high","type":"single_resource_cap","unit":"cron jobs","value":2},{"detail":"The free Sandbox tier caps you at 2 deployment services in total alongside your cron jobs.","label":"2 free services","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"services","value":2},{"detail":"Only one managed database addon is included in the free Sandbox tier.","label":"1 free database","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"databases","value":1},{"detail":"Free tier limits you to 2 projects for organizing all your Northflank resources.","label":"2 free projects","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"projects","value":2},{"detail":"Sandbox tier only allows limited/smaller compute plan sizes; vertical scaling is described as 'Limited' in the feature comparison.","label":"Limited compute plans","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Free sandbox tier does not include high availability replicas, database backups, or zonal redundancy for production workloads.","label":"No high availability or backups","renewable":false,"sentiment":"neutral","severity":"high","type":"feature_restricted"},{"detail":"Bring-your-own-cloud (AWS, GCP, Azure) is restricted to 1 linked cloud provider on the free tier vs. unlimited on paid plans.","label":"BYOC limited to 1 cloud provider","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted","unit":"cloud providers","value":1},{"detail":"Northflank explicitly positions the Sandbox tier for testing and building trust, not production use.","label":"Hobby/testing positioning only","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Free-tier jobs run on shared vCPU plans (e.g. nf-compute-10 at 0.1 shared vCPU / 256 MB), providing significantly less performance than dedicated plans.","label":"Shared compute resources","renewable":false,"sentiment":"neutral","severity":"medium","type":"performance_throttled"}],"keyMetrics":[{"display":"43.2K/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"derived","source":"derived_from_frontmatter_keyMetrics.cron_jobs_min_interval","unit":"runs/month","value":43200},{"display":"60.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":60},{"display":"4","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron, history, logs, timeout","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":4},{"display":"2 jobs","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs","value":2},{"display":"1 min","key":"min_interval","label":"Min interval","unit":"min","value":1},{"display":"n/a","key":"executions","label":"Executions","unit":"runs/mo"},{"display":"30 logs","key":"history_retention","label":"Run history","unit":"logs","value":30},{"display":"User-set","key":"timeout","label":"Job timeout","note":"no platform cap","unit":"min"}],"verified":true,"timestamp":"2026-06-16T00:00:00+00:00","verifiedAt":"2026-06-16","badges":["π’ Commercial OK","π Single resource"],"valueModel":{"bucket":"freemium","calc":{"allowance_usd_mo":0.2,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":6.2,"unit":"score","value":6.2,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":5.6,"unit":"$/mo","value":0.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":5.7,"unit":"score","value":5.7},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8.3,"unit":"score","value":8.3}],"required_axis_count":3,"score":6.2,"score_formula":"weighted_components_v1","value":0.2,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"cron_jobs","source":"frontmatter_keyMetrics","unit":"jobs","value":2}],"raw":{"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/supabase-cron","slug":"supabase-cron","category":"schedulers","access":"unconditional","accessBucket":"free","name":"Supabase Cron","provider":"Supabase Cron","planName":"freemium","kind":"Postgres cron","description":"Schedule recurring SQL, database functions, HTTP requests, or Edge Functions from inside Supabase Postgres.","logo":"/logos/supabase.svg","url":"https://supabase.com/docs/guides/cron","freeLimit":"Available in Supabase projects subject to current project, database, and function limits.","bestFor":"Database-centered scheduled work: cleanup, sync markers, SQL jobs, HTTP calls, and Edge Function triggers.","caveats":"Best when the schedule belongs near Postgres. Not a general container runner.","sourceUrl":"https://supabase.com/docs/guides/cron","offerFacts":[{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Cron syntax inside Postgres","Can call SQL, HTTP, or Edge Functions","Run monitoring in Supabase"],"tags":["postgres","cron","database","supabase","sql"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"The free plan allows at most 2 active Supabase projects, limiting how many separate cron environments you can run simultaneously.","label":"Max 2 active free projects","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"projects","value":2},{"detail":"Free projects are automatically paused after 7 days of inactivity and require a manual resume, making them unsuitable for low-frequency but always-on cron schedules.","label":"Project pauses after 1 week of inactivity","renewable":false,"sentiment":"neutral","severity":"high","type":"cold_start_sleep","unit":"days","value":7},{"detail":"Free tier runs on shared CPU with 500 MB RAM; dedicated compute is not included, so cron job execution may be slower and less consistent under load.","label":"Shared CPU, no dedicated compute","renewable":false,"sentiment":"neutral","severity":"medium","type":"performance_throttled"},{"detail":"Automatic backups are not included on the free plan, meaning if a cron job corrupts data there is no point-in-time recovery.","label":"No automatic database backups","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Cron job run history logs are subject to the free plan's 1-day API and database log retention, severely limiting post-hoc debugging.","label":"1-day log retention only","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted","unit":"days","value":1},{"detail":"The free plan includes only 500 MB of database storage; the cron.job_run_details table accumulates run history and counts toward this limit.","label":"500 MB database size cap","renewable":false,"sentiment":"con","severity":"low","type":"quota_renewable","unit":"MB","value":500},{"detail":"Supabase recommends running no more than 8 cron jobs concurrently and keeping each job under 10 minutes for best performance on shared infrastructure.","label":"Recommended max 8 concurrent jobs","renewable":true,"sentiment":"neutral","severity":"low","type":"rate_limit","unit":"concurrent jobs","value":8},{"detail":"Free tier omits database branching, advanced disk configuration, and point-in-time recovery, limiting safe use in production cron workflows.","label":"No backups, branching, or advanced disk","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"HTTP-based cron jobs that trigger external requests or Edge Functions are subject to the 5 GB monthly egress limit on the free plan.","label":"5 GB egress cap","renewable":true,"sentiment":"neutral","severity":"low","type":"feature_restricted","unit":"GB","value":5},{"detail":"Cron jobs that trigger Supabase Edge Functions share the free plan's 500,000 monthly invocation quota.","label":"500K Edge Function invocations/month","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"invocations/month","value":500000}],"keyMetrics":[{"display":"500.0K/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"derived","source":"derived_from_limitations","unit":"runs/month","value":500000},{"display":"3000.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":3000},{"display":"6","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"api, cron, history, http, logs, timeout","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":6},{"display":"β","key":"cron_jobs","label":"Cron jobs","note":"8 concurrent recommended","primary":true,"unit":"jobs"},{"display":"1.2 s","key":"min_interval","label":"Min interval","unit":"min","value":0.02},{"display":"β","key":"executions","label":"Executions","note":"SQL/HTTP","unit":"runs/mo"},{"display":"β","key":"history_retention","label":"Run history","note":"stored in cron.job_run_details, counts toward 500 MB DB","unit":"logs"},{"display":"10 min","key":"timeout","label":"Job timeout","note":"recommended","unit":"min","value":10}],"verified":true,"timestamp":"2026-06-16T00:00:00+00:00","verifiedAt":"2026-06-16","badges":["π’ Free forever","π’ Commercial OK","π Single resource","π Cold start","π’ Never sleeps"],"valueModel":{"bucket":"free","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":3.5,"unit":"score","value":3.5,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"$/mo","value":0.001},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":4.4,"unit":"score","value":4.4},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8.3,"unit":"score","value":8.3}],"required_axis_count":3,"score":3.5,"score_formula":"weighted_components_v1","value":0.001,"value_kind":"usd_month","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/github-actions-schedule","slug":"github-actions-schedule","category":"schedulers","access":"unconditional","accessBucket":"free","name":"GitHub Actions Schedule","provider":"GitHub Actions Schedule","planName":"freemium","kind":"CI scheduled workflow","description":"Run repository workflows on a cron schedule for technical/internal automation.","logo":"/logos/github.svg","url":"https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows","freeLimit":"Free minutes are available for public repositories and limited private-repo usage depending on account.","bestFor":"Repo automation, exports, backups, dependency checks, and internal scheduled jobs.","caveats":"Not an always-on service or precise product scheduler. Scheduled workflow timing can be delayed.","sourceUrl":"https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows","offerFacts":[{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Cron via workflow schedule event","Easy for repo-owned automation","Secrets and logs in GitHub Actions"],"tags":["ci","cron","github","automation","internal"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"GitHub Free accounts get 2,000 GitHub-hosted runner minutes per month for private repositories; resets at the start of each billing cycle.","label":"2,000 free minutes/month (private repos, Free plan)","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable","unit":"minutes/month","value":2000},{"detail":"Standard GitHub-hosted runner minutes are completely free and unlimited only for public repositories; private repos are subject to the monthly quota.","label":"Unlimited minutes only for public repos","renewable":false,"sentiment":"neutral","severity":"info","type":"feature_restricted"},{"detail":"GitHub Free plans include 500 MB of artifact and cache storage shared across Actions and GitHub Packages, resetting each billing cycle.","label":"500 MB artifact storage (Free plan)","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable","unit":"MB/month","value":500},{"detail":"Each repository gets 10 GB of Actions cache storage included; usage beyond that accrues charges if a payment method is on file.","label":"10 GB cache storage per repository","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"GB","value":10},{"detail":"GitHub does not guarantee that scheduled workflows fire at the exact cron time; delays of minutes to hours are common under high load, making it unsuitable for precision scheduling.","label":"Scheduled workflow timing can be delayed","renewable":false,"sentiment":"neutral","severity":"high","type":"performance_throttled"},{"detail":"Only standard (2-core) GitHub-hosted runners are covered by the free quota; larger runners incur charges even on public repositories.","label":"Larger runners always billed","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Windows runners consume minutes at ~1.7Γ and macOS at ~10Γ the Linux rate against the free quota, making the 2,000-minute allowance much smaller for non-Linux jobs.","label":"Windows/macOS minutes multiply faster","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"GitHub Actions schedule lacks retry logic, observability dashboards, and per-run parameterization that purpose-built schedulers provide.","label":"Not a dedicated scheduler platform","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Every scheduled job must live inside a GitHub repository; there is no standalone scheduling without source-code hosting.","label":"Requires a GitHub repository","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"}],"keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"6.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":6},{"display":"6","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron, history, logs, timeout, workflow, workflows","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":6},{"display":"β","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs"},{"display":"5 min","key":"min_interval","label":"Min interval","unit":"min","value":5},{"display":"β","key":"executions","label":"Executions","note":"capped by 2,000 runner min/mo on private repos","unit":"runs/mo"},{"display":"90 logs","key":"history_retention","label":"Run history","unit":"logs","value":90},{"display":"6 hr","key":"timeout","label":"Job timeout","note":"360 min","unit":"min","value":360}],"verified":true,"timestamp":"2026-06-16T00:00:00+00:00","verifiedAt":"2026-06-16","badges":["π’ Free forever","π’ Commercial OK"],"valueModel":{"bucket":"free","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.1,"unit":"score","value":4.1,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"$/mo","value":0.001},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":6.5,"unit":"score","value":6.5},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8.3,"unit":"score","value":8.3}],"required_axis_count":3,"score":4.1,"score_formula":"weighted_components_v1","value":0.001,"value_kind":"usd_month","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/vercel-cron-jobs","slug":"vercel-cron-jobs","category":"schedulers","access":"unconditional","accessBucket":"free","name":"Vercel Cron Jobs","provider":"Vercel Cron Jobs","planName":"freemium","kind":"Frontend platform cron","description":"Cron-triggered HTTP GET requests to Vercel Functions in a production deployment.","logo":"/logos/vercel.svg","url":"https://vercel.com/docs/cron-jobs","freeLimit":"Available on all Vercel plans; Hobby scheduling limits and function limits apply.","bestFor":"Next.js/Vercel apps that need daily jobs, cache refreshes, notifications, or endpoint-triggered maintenance.","caveats":"Timezone is UTC and jobs trigger production deployment paths. Not a general container runtime.","sourceUrl":"https://vercel.com/docs/cron-jobs","offerFacts":[{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Configured in vercel.json","Triggers Vercel Functions","Good when the app is already on Vercel"],"tags":["vercel","cron","functions","nextjs","http"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"Hobby plan allows up to 100 cron jobs per project, which resets as projects are managed.","label":"100 cron jobs per project","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"cron jobs/project","value":100},{"detail":"On the Hobby plan, each cron job can run at most once per day; any cron expression that resolves to more frequent than daily will fail at deployment.","label":"Once-per-day execution limit","renewable":true,"sentiment":"neutral","severity":"high","type":"rate_limit","unit":"executions/day per job","value":1},{"detail":"Hobby plan offers only hourly scheduling precision β a job set for 01:00 UTC may fire anywhere between 01:00 and 01:59 UTC.","label":"Β±59 min scheduling imprecision","renewable":false,"sentiment":"neutral","severity":"medium","type":"performance_throttled"},{"detail":"Sub-daily intervals (hourly, every 30 min, etc.) are unavailable on Hobby; Pro/Enterprise is required for per-minute precision and higher frequency.","label":"No sub-daily or per-minute schedules","renewable":false,"sentiment":"neutral","severity":"high","type":"feature_restricted"},{"detail":"Cron schedules always execute in UTC; there is no per-job timezone configuration available on any plan.","label":"UTC timezone only","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Cron jobs trigger Vercel Functions via HTTP GET to a production deployment URL; arbitrary shell commands or containers are not supported.","label":"HTTP GET trigger only","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Cron jobs only invoke the production deployment path, not preview or development environments.","label":"Production deployment only","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Each cron invocation is subject to Vercel Function execution time, memory, and payload limits (Hobby: up to 300s / 5 min max duration).","label":"Vercel Functions runtime limits apply","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Cron jobs are tightly coupled to Vercel deployments and cannot be used to trigger external non-Vercel endpoints as a standalone scheduler.","label":"Vercel-hosted apps only","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"}],"keyMetrics":[{"display":"3.0K/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"stated","source":"frontmatter_keyMetrics.executions","unit":"runs/month","value":3000},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":1},{"display":"5","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron, history, http, logs, timeout","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":5},{"display":"100 jobs","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs","value":100},{"display":"24 hr","key":"min_interval","label":"Min interval","unit":"min","value":1440},{"display":"3K/mo","key":"executions","label":"Executions","unit":"runs/mo","value":3000},{"display":"1 hour log","key":"history_retention","label":"Run history","unit":"logs"},{"display":"5 min","key":"timeout","label":"Job timeout","note":"300s","unit":"min","value":5}],"verified":true,"timestamp":"2026-06-16T00:00:00+00:00","verifiedAt":"2026-06-16","badges":["π’ Free forever","π’ Commercial OK"],"valueModel":{"bucket":"free","calc":{"allowance_usd_mo":10,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":7.8,"unit":"score","value":7.8,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":9,"unit":"$/mo","value":10.0006},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":5.5,"unit":"score","value":5.5},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8.3,"unit":"score","value":8.3}],"required_axis_count":3,"score":7.8,"score_formula":"weighted_components_v1","value":10.001,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"cron_jobs","source":"frontmatter_keyMetrics","unit":"jobs","value":100},{"key":"job_run","source":"frontmatter_keyMetrics","unit":"runs/mo","value":3000}],"raw":{"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/hatchet","slug":"hatchet","category":"schedulers","access":"unconditional","accessBucket":"free","name":"Hatchet","provider":"Hatchet","planName":"freemium","kind":"Task orchestration / scheduler","description":"Postgres-backed task orchestration engine with cron schedules, durable workflows, and a monitoring dashboard β free Cloud tier or MIT self-host.","logo":"/logos/hatchet.png","url":"https://hatchet.run/","freeLimit":"Cloud \"Developer\" tier is free with the first 100,000 task runs per month included (then $10 per 1M), no credit card required; or self-host the 100% MIT-licensed engine for unlimited free use.","bestFor":"Developers who need cron scheduling plus durable background-task and AI-agent orchestration without managing their own queue infrastructure.","caveats":"The free Developer tier omits paid-tier features: extended data retention (3-day starts at Team $500/mo, 7-day at Scale $1,000/mo), higher RPS throughput, multiple users/tenants, and audit logs/HIPAA. Cloud meters every task run, and 6-field cron (per-second) expressions can burn through the 100k included runs quickly.","sourceUrl":"https://hatchet.run/pricing/","offerFacts":[{"key":"offered_price_usd","valueNumber":500,"valueText":"500.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Free Cloud tier: first 100,000 task runs/month included, no credit card, then usage-based $10 per 1M runs","100% MIT-licensed β self-host the full control plane (runs on Postgres) for unlimited free use","Cron triggers with standard 5- or 6-field syntax (per-second granularity) plus durable, fault-tolerant workflow orchestration","Web dashboard for monitoring, triggering, and managing scheduled runs; SOC 2 Type II"],"tags":["scheduler","cron","task-queue","workflow-orchestration","background-jobs","durable-execution","postgres","open-source","mit-license","ai-agents","self-hostable"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"The free Cloud Developer tier includes the first 100,000 task runs each month; beyond that, usage is billed at $10 per 1M runs. The included allowance resets monthly.","label":"100,000 task runs/month included","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable","unit":"runs/mo","value":100000},{"detail":"Extended run/data retention is a paid feature β 3-day retention starts at the Team tier ($500/mo) and 7-day at the Scale tier ($1,000/mo). The free Developer tier does not include an extended retention window.","label":"No extended data retention","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Multi-user and multi-tenant support (10 users & 5 tenants) begins at the Team tier; unlimited users/tenants at Scale. The free Developer tier is geared to a single developer.","label":"Single user / limited tenants","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Guaranteed RPS throughput (500 RPS) and latency guarantees are paid-tier features (Team and above). The free tier has no committed throughput or latency SLA.","label":"Throughput not guaranteed","renewable":false,"sentiment":"neutral","severity":"low","type":"performance_throttled"},{"detail":"Audit logging and HIPAA compliance start at the Scale tier; SSO/SAML and custom SLAs are Enterprise-only. Not available on the free Developer tier.","label":"No audit logs / HIPAA / SSO","renewable":false,"sentiment":"neutral","severity":"info","type":"feature_restricted"}],"keyMetrics":[{"display":"100.0K/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"stated","source":"frontmatter_keyMetrics.executions","unit":"runs/month","value":100000},{"display":"3750.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":3750},{"display":"9","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"api, cron, durable, history, logs, queue, timeout, workflow, workflows","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":9},{"display":"β","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs"},{"display":"1.2 s","key":"min_interval","label":"Min interval","note":"6-field cron","unit":"min","value":0.02},{"display":"100K/mo","key":"executions","label":"Executions","unit":"runs/mo","value":100000},{"display":"No extended","key":"history_retention","label":"Run history","unit":"logs"},{"display":"Configurable","key":"timeout","label":"Job timeout","unit":"min"}],"verified":true,"timestamp":"2026-06-17T00:00:00+00:00","verifiedAt":"2026-06-17","badges":["π’ Free forever","π’ Commercial OK","π’ Open/self-hosted"],"valueModel":{"bucket":"free","calc":{"allowance_usd_mo":0.02,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":5.4,"unit":"score","value":5.4,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":3.6,"unit":"$/mo","value":0.020000000000000004},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":6.5,"unit":"score","value":6.5},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8.3,"unit":"score","value":8.3}],"required_axis_count":3,"score":5.4,"score_formula":"weighted_components_v1","value":0.02,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"job_run","source":"frontmatter_keyMetrics","unit":"runs/mo","value":100000}],"raw":{"offered_price_usd":500,"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/cloudflare-workflows-schedules","slug":"cloudflare-workflows-schedules","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"Cloudflare Workflows Schedules","provider":"Cloudflare Workflows Schedules","planName":"freemium","kind":"Durable workflow scheduler","description":"Scheduled durable workflows on Cloudflare Workers for multi-step jobs with retries and persisted progress.","logo":"/logos/cloudflare.svg","url":"https://developers.cloudflare.com/workflows/build/trigger-workflows/","freeLimit":"Available on Cloudflare Free and Paid plans, with account and workflow limits to verify before production use.","bestFor":"Scheduled jobs that need multiple steps, retries, sleeps, or durable progress on Cloudflare.","caveats":"More complex than a simple Worker cron trigger. Design steps to be idempotent.","sourceUrl":"https://developers.cloudflare.com/workflows/build/trigger-workflows/","offerFacts":[{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"daily","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Cron schedules can trigger workflow instances","Durable multi-step execution","Retries and persisted workflow state"],"tags":["workflow","cron","durable","cloudflare","retries"],"pricingModel":"freemium","renewal":"daily","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"Free plan shares the Workers daily request quota of 100,000 invocations per day across all Workers and Workflows on the account.","label":"100K workflow invocations/day","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable","unit":"requests/day","value":100000},{"detail":"Free plan is capped at creating 100 new Workflow instances per second; exceeding this returns HTTP 429.","label":"100 new instances/second creation rate","renewable":true,"sentiment":"neutral","severity":"low","type":"rate_limit","unit":"instances/second","value":100},{"detail":"Each Workflow step is limited to 10ms of active CPU time on the Free plan, versus 30 seconds (configurable to 5 minutes) on Paid β severely restricting compute-heavy steps.","label":"10ms CPU time per step","renewable":false,"sentiment":"neutral","severity":"high","type":"performance_throttled","unit":"ms CPU/step","value":10},{"detail":"Only 100 Workflow instances can be actively running simultaneously on the Free plan; Paid allows 50,000.","label":"100 concurrent running instances","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"concurrent instances","value":100},{"detail":"Free plan caps each Workflow instance at 1,024 steps; Paid plan defaults to 10,000 and is configurable up to 25,000.","label":"1,024 steps per workflow (vs 10Kβ25K paid)","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted","unit":"steps/instance","value":1024},{"detail":"Completed and errored Workflow instance state is retained for only 3 days on Free, versus 30 days on Paid.","label":"3-day state retention","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted","unit":"days","value":3},{"detail":"Free plan includes 1GB of persistent Workflow state storage; instances will throw errors when this limit is reached.","label":"1GB workflow state storage","renewable":false,"sentiment":"con","severity":"low","type":"total_volume_cap","unit":"GB","value":1},{"detail":"Free plan allows only 100 total Worker/Workflow script definitions per account, versus 500 on Paid.","label":"100 Worker scripts per account","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted","unit":"scripts/account","value":100},{"detail":"Each Workflow step on Free is limited to 50 external subrequests and 1,000 subrequests to Cloudflare services; Paid defaults to 10,000 and can be raised to 10 million.","label":"50 subrequests per step (external)","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted","unit":"subrequests/step","value":50},{"detail":"Maximum state that can be persisted per single Workflow instance is 100MB on Free vs 1GB on Paid.","label":"100MB persisted state per instance","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted","unit":"MB/instance","value":100},{"detail":"Paid plan grants cron-triggered Workflow instances a dedicated one-hour concurrency budget per firing outside normal concurrency slots; Free plan has no such budget.","label":"No cron concurrency budget","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Workers Free limits each Worker/Workflow script to 3MB; Paid allows up to 10MB.","label":"3MB max script size","renewable":false,"sentiment":"neutral","severity":"info","type":"feature_restricted","unit":"MB","value":3}],"keyMetrics":[{"display":"3.0M/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"stated","source":"frontmatter_keyMetrics.executions","unit":"runs/month","value":3000000},{"display":"75.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":75},{"display":"9","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron, durable, history, logs, retries, state, timeout, workflow, workflows","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":9},{"display":"5 jobs","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs","value":5},{"display":"1 min","key":"min_interval","label":"Min interval","unit":"min","value":1},{"display":"3M/mo","key":"executions","label":"Executions","note":"100K/day","unit":"runs/mo","value":3000000},{"display":"100 logs","key":"history_retention","label":"Run history","unit":"logs","value":100},{"display":"15 min","key":"timeout","label":"Job timeout","unit":"min","value":15}],"verified":true,"timestamp":"2026-06-16T00:00:00+00:00","verifiedAt":"2026-06-16","badges":["π’ Free forever","π’ Commercial OK","π Single resource","π΄ One-time"],"valueModel":{"bucket":"free","calc":{"allowance_usd_mo":1.1,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":6.3,"unit":"score","value":6.3,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":7.1,"unit":"$/mo","value":1.1},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":4.2,"unit":"score","value":4.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":7.6,"unit":"score","value":7.6}],"required_axis_count":3,"score":6.3,"score_formula":"weighted_components_v1","value":1.1,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"cron_jobs","source":"frontmatter_keyMetrics","unit":"jobs","value":5},{"key":"job_run","source":"frontmatter_keyMetrics","unit":"runs/mo","value":3000000}],"raw":{"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/google-cloud-scheduler","slug":"google-cloud-scheduler","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"Google Cloud Scheduler","provider":"Google Cloud Scheduler","planName":"freemium","kind":"Managed cloud scheduler","description":"Fully managed cron service for invoking HTTP endpoints, Pub/Sub topics, and Google Cloud workloads.","logo":"/logos/googlecloud.svg","url":"https://docs.cloud.google.com/scheduler/docs","freeLimit":"Google Cloud includes limited free usage in some cases, but billing/project setup and current pricing must be verified.","bestFor":"Production schedules in Google Cloud, Cloud Run jobs, Pub/Sub fan-out, and infrastructure automation.","caveats":"Heavier account, IAM, and billing setup than lightweight scheduler services.","sourceUrl":"https://docs.cloud.google.com/scheduler/docs","offerFacts":[{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"True","origin":"frontmatter"}],"highlights":["Managed cron jobs","HTTP and Pub/Sub targets","Retries and cloud-native auth"],"tags":["gcp","cron","http","pubsub","managed"],"pricingModel":"freemium","renewal":"monthly","requiresCard":true,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"Each Google Cloud billing account gets exactly 3 free Scheduler jobs per month; additional jobs cost $0.10/job/month.","label":"3 free jobs per billing account/month","renewable":true,"sentiment":"pro","severity":"high","type":"quota_renewable","unit":"jobs/month","value":3},{"detail":"The 3 free jobs are shared across all projects on the billing account, so a multi-project setup quickly exhausts the free allowance.","label":"Free quota is account-level, not per-project","renewable":false,"sentiment":"neutral","severity":"high","type":"single_resource_cap"},{"detail":"A Google Cloud billing account with a valid payment method must be set up before using Cloud Scheduler, even within the free tier.","label":"Billing account required","renewable":false,"sentiment":"con","severity":"medium","type":"requires_card"},{"detail":"Cloud Scheduler free tier does not include extended execution history or alerting dashboards beyond what Cloud Logging provides.","label":"No built-in job history or long retention","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Billing is per job definition, not per execution, but individual job execution frequency is bounded by minimum 1-minute intervals.","label":"Executions per job not individually billed but may be throttled","renewable":true,"sentiment":"neutral","severity":"low","type":"rate_limit"}],"keyMetrics":[{"display":"43.2K/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"derived","source":"derived_from_frontmatter_keyMetrics.cron_jobs_min_interval","unit":"runs/month","value":43200},{"display":"75.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":75},{"display":"7","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"api, cron, history, http, logs, retries, timeout","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":7},{"display":"3 jobs","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs","value":3},{"display":"1 min","key":"min_interval","label":"Min interval","unit":"min","value":1},{"display":"β","key":"executions","label":"Executions","note":"billed per job, not per execution","unit":"runs/mo"},{"display":"None","key":"history_retention","label":"Run history","note":"logs go to Cloud Logging","unit":"logs"},{"display":"30 min","key":"timeout","label":"Job timeout","unit":"min","value":30}],"verified":true,"timestamp":"2026-06-16T00:00:00+00:00","verifiedAt":"2026-06-16","badges":["π’ Commercial OK","π Single resource","π΄ Card/balance required"],"valueModel":{"bucket":"freemium","calc":{"allowance_usd_mo":0.3,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":6.1,"unit":"score","value":6.1,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":6,"unit":"$/mo","value":0.30000000000000004},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":5.7,"unit":"score","value":5.7},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":7,"unit":"score","value":7}],"required_axis_count":3,"score":6.1,"score_formula":"weighted_components_v1","value":0.3,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"cron_jobs","source":"frontmatter_keyMetrics","unit":"jobs","value":3}],"raw":{"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/aws-eventbridge-scheduler","slug":"aws-eventbridge-scheduler","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"AWS EventBridge Scheduler","provider":"AWS EventBridge Scheduler","planName":"freemium","kind":"Managed cloud scheduler","description":"Serverless scheduler for one-time and recurring invocations across AWS services and API targets.","logo":"/logos/aws-activate-credits.svg","url":"https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html","freeLimit":"AWS account and current pricing/free-tier terms apply; verify before depending on cost assumptions.","bestFor":"AWS-native schedules for Lambda, ECS, Step Functions, Batch, and large fleets of recurring or one-time jobs.","caveats":"Best inside AWS. IAM, target permissions, and account setup are more involved than simple HTTP schedulers.","sourceUrl":"https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html","offerFacts":[{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"True","origin":"frontmatter"}],"highlights":["One-time and recurring schedules","Targets many AWS services","Flexible delivery windows and retries"],"tags":["aws","cron","serverless","lambda","eventbridge"],"pricingModel":"freemium","renewal":"monthly","requiresCard":true,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"The free tier includes 14,000,000 Scheduler invocations per month, calculated across all regions (except GovCloud) and applied automatically.","label":"14M invocations/month free","renewable":true,"sentiment":"pro","severity":"info","type":"quota_renewable","unit":"invocations/month","value":14000000},{"detail":"Any unused portion of the 14M monthly free invocations expires at month end and is not carried forward.","label":"Unused free quota does not roll over","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable"},{"detail":"An AWS account with a valid payment method is required even to use the free tier; no usage is billed until you exceed free limits.","label":"AWS account required (card on file)","renewable":false,"sentiment":"con","severity":"medium","type":"requires_card"},{"detail":"EventBridge Scheduler can only target AWS services and supported API destinations; it cannot natively trigger arbitrary external HTTP endpoints without additional wiring (API destinations).","label":"AWS ecosystem only","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"The 14M monthly free invocations are not available in the AWS GovCloud region.","label":"No GovCloud free tier","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Every schedule requires IAM roles and correctly scoped permissions on both the scheduler and the target resource, adding significant setup overhead versus simpler schedulers.","label":"IAM and target permissions required","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Scheduler API calls (CreateSchedule, etc.) are subject to AWS service quotas and throttling limits per account per region, which can affect automation pipelines creating large numbers of schedules.","label":"API throttling per account/region","renewable":true,"sentiment":"neutral","severity":"low","type":"rate_limit"},{"detail":"Scheduler's flexible time windows allow AWS to batch invocations within a user-defined window, which can delay execution by up to the window size.","label":"Flexible delivery windows trade precision for cost","renewable":false,"sentiment":"neutral","severity":"low","type":"performance_throttled"}],"keyMetrics":[{"display":"14.0M/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"stated","source":"frontmatter_keyMetrics.executions","unit":"runs/month","value":14000000},{"display":"30.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":30},{"display":"7","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"api, cron, history, http, logs, retries, timeout","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":7},{"display":"10M jobs","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs","value":10000000},{"display":"1 min","key":"min_interval","label":"Min interval","unit":"min","value":1},{"display":"14M/mo","key":"executions","label":"Executions","unit":"runs/mo","value":14000000},{"display":"n/a","key":"history_retention","label":"Run history","note":"trigger only","unit":"logs"},{"display":"n/a","key":"timeout","label":"Job timeout","note":"target-bound","unit":"min"}],"verified":true,"timestamp":"2026-06-16T00:00:00+00:00","verifiedAt":"2026-06-16","badges":["π’ Commercial OK","π΄ Card/balance required"],"valueModel":{"bucket":"freemium","calc":{"allowance_usd_mo":102.8,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":8,"unit":"score","value":8,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":10,"unit":"$/mo","value":102.8},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":5.2,"unit":"score","value":5.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":7,"unit":"score","value":7}],"required_axis_count":3,"score":8,"score_formula":"weighted_components_v1","value":102.8,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"cron_jobs","source":"frontmatter_keyMetrics","unit":"jobs","value":10000000},{"key":"job_run","source":"frontmatter_keyMetrics","unit":"runs/mo","value":14000000}],"raw":{"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/trigger-dev-scheduled-tasks","slug":"trigger-dev-scheduled-tasks","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"Trigger.dev Scheduled Tasks","provider":"Trigger.dev Scheduled Tasks","planName":"freemium","kind":"Workflow scheduler","description":"Scheduled TypeScript background tasks with retries, queues, observability, and long-running workflow support.","logo":"/logos/trigger-dev.svg","url":"https://trigger.dev/docs/tasks/scheduled","freeLimit":"Hosted plan limits and self-hosting options should be checked against current Trigger.dev pricing.","bestFor":"Product-grade scheduled workflows that need logs, retries, queues, and developer-friendly TypeScript code.","caveats":"It is a workflow/job platform, not a tiny cron-only service. Adds a framework dependency.","sourceUrl":"https://trigger.dev/docs/tasks/scheduled","offerFacts":[{"key":"creditAmountUsd","valueNumber":5,"valueText":"5","origin":"frontmatter"},{"key":"credit_amount_usd","valueNumber":5,"valueText":"5.0","origin":"value_model_raw"},{"key":"credit_window_days","valueNumber":30,"valueText":"30.0","origin":"value_model_raw"},{"key":"offered_price_usd","valueNumber":5,"valueText":"5.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Schedules can be attached to tasks","Retries, queues, and observability","Good for long-running jobs"],"tags":["workflow","typescript","cron","retries","queues"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"creditAmountUsd":5,"eligibility":["anyone"],"limitations":[{"detail":"The Free plan includes $5 of compute credits; once exhausted, tasks stop running until you upgrade to a paid plan.","label":"$5 compute credits on Free plan","renewable":false,"sentiment":"con","severity":"high","type":"total_volume_cap","unit":"USD","value":5},{"detail":"The Free plan is capped at 10 scheduled tasks total; upgrading to Hobby raises this to 50.","label":"10 schedules maximum","renewable":false,"sentiment":"con","severity":"medium","type":"quota_renewable","unit":"schedules","value":10},{"detail":"Free plan concurrency is capped at 20 simultaneously executing tasks; paid plans start at 200.","label":"20 concurrent runs","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable","unit":"concurrent runs","value":20},{"detail":"All plans share a 1,500 API requests/minute ceiling; higher limits require contacting support on paid plans.","label":"1,500 API requests per minute","renewable":true,"sentiment":"neutral","severity":"low","type":"rate_limit","unit":"requests/minute","value":1500},{"detail":"Free plan retains logs and run history for only 1 day, making debugging past failures very difficult in production.","label":"1-day log and run retention","renewable":false,"sentiment":"neutral","severity":"high","type":"feature_restricted"},{"detail":"Free plan only includes Dev and Prod environments; the Preview environment (useful for staging/PR previews) requires Hobby or higher.","label":"No Preview environment","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Free plan is limited to a single project; additional projects require a paid plan.","label":"1 project","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"projects","value":1},{"detail":"Free plan seats are capped at 5 team members; Pro plan raises the ceiling to 25+ with additional seats purchasable.","label":"5 team members maximum","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted","unit":"seats","value":5},{"detail":"Free and Hobby plans receive only community support; dedicated Slack support is a Pro-plan feature.","label":"Community support only","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"}],"keyMetrics":[{"display":"43.2K/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"derived","source":"derived_from_frontmatter_keyMetrics.cron_jobs_min_interval","unit":"runs/month","value":43200},{"display":"75.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":75},{"display":"10","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"api, concurrency, cron, history, logs, queues, retries, timeout, workflow, workflows","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":10},{"display":"10 jobs","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs","value":10},{"display":"1 min","key":"min_interval","label":"Min interval","note":"no seconds","unit":"min","value":1},{"display":"Credit-gated","key":"executions","label":"Executions","note":"$5/mo compute","unit":"runs/mo"},{"display":"1 logs","key":"history_retention","label":"Run history","unit":"logs","value":1},{"display":"No timeout","key":"timeout","label":"Job timeout","unit":"min"}],"verified":true,"timestamp":"2026-06-16T00:00:00+00:00","verifiedAt":"2026-06-16","badges":["π’ Commercial OK","π΄ One-time","π Single resource","π’ Free forever"],"valueModel":{"bucket":"freemium","calc":{"allowance_usd_mo":1,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.3,"unit":"score","value":4.3,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":1,"b":1,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_credit","score":2.4,"unit":"$ one-time","value":5},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":5.2,"unit":"score","value":5.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":7.6,"unit":"score","value":7.6}],"required_axis_count":3,"score":4.3,"score_formula":"weighted_components_v1","value":5,"value_kind":"one_time_usd","value_provenance":"provider_credit"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"cron_jobs","source":"frontmatter_keyMetrics","unit":"jobs","value":10}],"raw":{"credit_amount_usd":5,"credit_window_days":30,"offered_price_usd":5,"pricingModel":"freemium"},"subtop":"credits"}},{"id":"schedulers/railway-cron-jobs","slug":"railway-cron-jobs","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"Railway Cron Jobs","provider":"Railway Cron Jobs","planName":"finite_credit","kind":"Service cron trigger","description":"Configure a Railway service to run on a crontab expression instead of as a normal always-on service.","logo":"/logos/railway.svg","url":"https://docs.railway.com/cron-jobs","freeLimit":"Railway usage is credit/billing based; verify current trial and paid requirements before use.","bestFor":"Scheduled commands in a Railway project where the code and environment already live.","caveats":"Best if you are already on Railway. Otherwise dedicated schedulers may be simpler and cheaper.","sourceUrl":"https://docs.railway.com/cron-jobs","offerFacts":[{"key":"creditAmountUsd","valueNumber":5,"valueText":"5","origin":"frontmatter"},{"key":"credit_amount_usd","valueNumber":5,"valueText":"5.0","origin":"value_model_raw"},{"key":"credit_window_days","valueNumber":30,"valueText":"30.0","origin":"value_model_raw"},{"key":"offered_price_usd","valueNumber":1,"valueText":"1.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"finite_credit","origin":"value_model_raw"},{"key":"renewal","valueText":"none","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Crontab expression on a service","Uses Railway project environment variables","Good for repo-based jobs"],"tags":["paas","cron","railway","service","jobs"],"pricingModel":"finite_credit","renewal":"none","requiresCard":false,"creditAmountUsd":5,"eligibility":["anyone"],"limitations":[{"detail":"The one-time $5 trial credit pool expires after 30 days regardless of how much has been used.","label":"Trial credits expire in 30 days","renewable":false,"sentiment":"con","severity":"high","type":"time_limited","unit":"days","value":30},{"detail":"Free tier is a single non-renewable $5 credit grant; once exhausted or expired, you must subscribe to a paid plan to continue.","label":"$5 one-time trial credit","renewable":false,"sentiment":"con","severity":"high","type":"total_volume_cap","unit":"USD","value":5},{"detail":"After the trial, continuing use of cron jobs requires upgrading to the Hobby plan ($1/month), which requires a credit card.","label":"Card required for Hobby plan","renewable":false,"sentiment":"con","severity":"medium","type":"requires_card"},{"detail":"Railway enforces a minimum of 5 minutes between successive cron executions; sub-5-minute schedules are not supported.","label":"Minimum 5-minute cron interval","renewable":true,"sentiment":"neutral","severity":"medium","type":"rate_limit","unit":"minutes","value":5},{"detail":"Railway does not guarantee cron jobs fire at the exact scheduled minute; actual execution can vary by a few minutes.","label":"No execution time guarantee","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Railway does not auto-terminate a still-running cron service; if a prior execution is still active when the next is due, the new execution is silently skipped.","label":"No automatic job termination","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Trial tier caps each service at 1 vCPU and 0.5 GB RAM, limiting the size of jobs you can run.","label":"1 vCPU / 0.5 GB RAM on trial","renewable":false,"sentiment":"neutral","severity":"low","type":"single_resource_cap","unit":"vCPU","value":1},{"detail":"Railway cron is a scheduling mode on a regular service; the entire Railway project/deployment stack is required, making it heavyweight for cron-only use cases.","label":"Cron is not a standalone product","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Trial and Hobby tiers run on shared infrastructure with community support only and a 99.9% availability target, not suitable for strict SLA requirements.","label":"Shared/community resources on trial","renewable":false,"sentiment":"neutral","severity":"low","type":"performance_throttled"}],"keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"12.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":12},{"display":"4","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron, history, logs, timeout","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":4},{"display":"n/a","key":"cron_jobs","label":"Cron jobs","note":"credit/resource-bound","primary":true,"unit":"jobs"},{"display":"5 min","key":"min_interval","label":"Min interval","unit":"min","value":5},{"display":"No quota","key":"executions","label":"Executions","note":"credit-bound","unit":"runs/mo"},{"display":"n/a","key":"history_retention","label":"Run history","note":"deployment logs, no per-job count","unit":"logs"},{"display":"No kill","key":"timeout","label":"Job timeout","note":"next run skipped if still active","unit":"min"}],"verified":true,"timestamp":"2026-06-16T00:00:00+00:00","verifiedAt":"2026-06-16","badges":["π’ Commercial OK","π΄ Trial expires","π΄ One-time","π΄ Card/balance required","π Single resource"],"valueModel":{"bucket":"freemium","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":2.9,"unit":"score","value":2.9,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":1,"b":1,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_credit","score":2.4,"unit":"$ one-time","value":5},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":2.7,"unit":"score","value":2.7},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":4.3,"unit":"score","value":4.3}],"required_axis_count":3,"score":2.9,"score_formula":"weighted_components_v1","value":5,"value_kind":"one_time_usd","value_provenance":"provider_credit"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"credit_amount_usd":5,"credit_window_days":30,"offered_price_usd":1,"pricingModel":"finite_credit"},"subtop":"credits"}},{"id":"schedulers/modal-cron","slug":"modal-cron","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"Modal Cron","provider":"Modal Cron","planName":"freemium","kind":"Serverless compute cron","description":"Schedule Python functions and serverless compute jobs, including ML and container workloads.","logo":"/logos/modal.png","url":"https://modal.com/docs/guide/cron","freeLimit":"Starter includes recurring compute credit according to current Modal pricing; heavy jobs can exhaust it quickly.","bestFor":"Python scheduled jobs, ML tasks, batch processing, scraping, and compute-heavy recurring work.","caveats":"Overkill for simple webhooks. Watch compute credits, log retention, and GPU spend.","sourceUrl":"https://modal.com/docs/guide/cron","offerFacts":[{"key":"creditAmountUsd","valueNumber":30,"valueText":"30","origin":"frontmatter"},{"key":"credit_amount_usd","valueNumber":30,"valueText":"30.0","origin":"value_model_raw"},{"key":"credit_window_days","valueNumber":30,"valueText":"30.0","origin":"value_model_raw"},{"key":"offered_price_usd","valueNumber":250,"valueText":"250.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Cron schedules for Modal functions","Serverless Python and container execution","Good for compute-heavy scheduled work"],"tags":["python","cron","serverless","ml","compute"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"creditAmountUsd":30,"eligibility":["anyone"],"limitations":[{"detail":"Starter plan includes $30 of compute credits each month that reset on the billing cycle; heavy GPU or CPU workloads can exhaust this quickly.","label":"$30/month free compute credits","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable","unit":"USD/month","value":30},{"detail":"Starter tier hard-caps you at 5 simultaneously deployed cron schedules; upgrading to Team ($250/mo) removes the limit.","label":"5 deployed crons max","renewable":false,"sentiment":"neutral","severity":"high","type":"single_resource_cap","unit":"crons","value":5},{"detail":"Only 8 web-function endpoints can be deployed at once on the Starter plan.","label":"8 deployed webhook endpoints","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"endpoints","value":8},{"detail":"Logs are retained for just 1 day on the Starter plan versus 30 days on Team, making debugging scheduled jobs painful.","label":"1-day log retention only","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted","unit":"days","value":1},{"detail":"Starter allows up to 3 collaborators; Team plan offers unlimited seats.","label":"3 workspace seats included","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted","unit":"seats","value":3},{"detail":"Maximum of 100 concurrent containers and 10 simultaneous GPU containers; burst workloads above this will queue or fail.","label":"100 container / 10 GPU concurrency cap","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted","unit":"containers","value":100},{"detail":"Custom domains and static IP proxy are Team/Enterprise-only features, limiting production webhook deployments.","label":"No custom domains or static IP","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Deployment rollbacks (3 versions) are a Team-tier feature; Starter has no rollback capability.","label":"No deployment rollbacks","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Enterprise security features (Okta SSO, audit logs, HIPAA compatibility, RBAC) are unavailable on the free tier.","label":"No SSO, audit logs, or HIPAA","renewable":false,"sentiment":"neutral","severity":"info","type":"feature_restricted"},{"detail":"Additional free compute (startup grants or up to $10k academic grants) require an application and manual approval from Modal.","label":"Startup/academic credits need approval","renewable":false,"sentiment":"con","severity":"info","type":"requires_eligibility"}],"keyMetrics":[{"display":"43.2K/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"derived","source":"derived_from_frontmatter_keyMetrics.cron_jobs_min_interval","unit":"runs/month","value":43200},{"display":"60.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":60},{"display":"6","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"concurrency, cron, history, logs, timeout, webhooks","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":6},{"display":"5 jobs","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs","value":5},{"display":"1 min","key":"min_interval","label":"Min interval","unit":"min","value":1},{"display":"β","key":"executions","label":"Executions","note":"gated by $30/mo compute credit","unit":"runs/mo"},{"display":"1 logs","key":"history_retention","label":"Run history","unit":"logs","value":1},{"display":"24 hr","key":"timeout","label":"Job timeout","unit":"min","value":1440}],"verified":true,"timestamp":"2026-06-16T00:00:00+00:00","verifiedAt":"2026-06-16","badges":["π’ Commercial OK","π Single resource","π΄ Eligibility required","π’ Free forever"],"valueModel":{"bucket":"freemium","calc":{"allowance_usd_mo":0.5,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":5.2,"unit":"score","value":5.2,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":1,"b":1,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_credit","score":4,"unit":"$ one-time","value":30},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":6.4,"unit":"score","value":6.4},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":6.5,"unit":"score","value":6.5}],"required_axis_count":3,"score":5.2,"score_formula":"weighted_components_v1","value":30,"value_kind":"one_time_usd","value_provenance":"provider_credit"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"cron_jobs","source":"frontmatter_keyMetrics","unit":"jobs","value":5}],"raw":{"credit_amount_usd":30,"credit_window_days":30,"offered_price_usd":250,"pricingModel":"freemium"},"subtop":"credits"}},{"id":"schedulers/netlify-scheduled-functions","slug":"netlify-scheduled-functions","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"Netlify Scheduled Functions","provider":"Netlify Scheduled Functions","planName":"freemium","kind":"Scheduled function","description":"Run Netlify Functions on a regular schedule, much like a cron job.","logo":"/logos/netlify.svg","url":"https://docs.netlify.com/build/functions/scheduled-functions/","freeLimit":"Available on all pricing plans, with function/runtime quotas depending on the current plan.","bestFor":"Netlify-hosted sites that need scheduled serverless functions.","caveats":"Best when the project is already on Netlify. Function limits still apply.","sourceUrl":"https://docs.netlify.com/build/functions/scheduled-functions/","offerFacts":[{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Scheduled Netlify Functions","Cron-like regular execution","Works with static/web projects"],"tags":["netlify","cron","functions","serverless","static-sites"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"Free plan includes 300 credits per month shared across all usage (compute, bandwidth, web requests, production deploys); scheduled function invocations consume compute credits at 10 credits/GB-hour.","label":"300 credits/month (shared pool)","renewable":true,"sentiment":"pro","severity":"high","type":"quota_renewable","unit":"credits/month","value":300},{"detail":"Free plan does not allow custom deployment options for functions such as increased memory, extended execution limits, or custom AWS regions.","label":"No custom function memory or region","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Each scheduled function invocation has a hard 30-second execution time limit; longer tasks must use background functions instead.","label":"30-second execution limit per invocation","renewable":true,"sentiment":"neutral","severity":"medium","type":"rate_limit","unit":"seconds","value":30},{"detail":"Function logs are retained for only 24 hours on the free plan, making debugging scheduled jobs that ran hours ago difficult.","label":"24-hour function log retention","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"The free plan is limited to a single team member seat; additional collaborators require a paid plan.","label":"1 team member on free plan","renewable":false,"sentiment":"neutral","severity":"low","type":"single_resource_cap","unit":"members","value":1},{"detail":"When any project exceeds the monthly 300-credit limit, all projects on the entire account are paused until the next billing cycle resets the quota.","label":"All projects paused when credits exhausted","renewable":true,"sentiment":"neutral","severity":"high","type":"total_volume_cap"},{"detail":"Scheduled functions cannot be invoked via a direct URL in production; manual testing requires the Netlify UI 'Run now' button or Netlify Dev CLI.","label":"No URL-triggered invocation","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Scheduled functions do not run automatically on Deploy Previews or branch deploys β only on the production (main) deploy.","label":"Scheduled functions run on published deploys only","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Free plan analytics and observability data is limited to 1 day of history, providing minimal visibility into scheduled job run patterns over time.","label":"1-day observability history","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Scheduled functions do not support response streaming and are incompatible with Netlify's Split Testing feature.","label":"No response streaming or Split Testing","renewable":false,"sentiment":"neutral","severity":"info","type":"feature_restricted"}],"keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"60.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":60},{"display":"4","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron, history, logs, timeout","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":4},{"display":"β","key":"cron_jobs","label":"Cron jobs","note":"credit-bounded","primary":true,"unit":"jobs"},{"display":"1 min","key":"min_interval","label":"Min interval","unit":"min","value":1},{"display":"n/a","key":"executions","label":"Executions","note":"10 credits/GB-hr compute","unit":"runs/mo"},{"display":"24-hour log","key":"history_retention","label":"Run history","unit":"logs"},{"display":"30 s","key":"timeout","label":"Job timeout","unit":"min","value":0.5}],"verified":true,"timestamp":"2026-06-16T00:00:00+00:00","verifiedAt":"2026-06-16","badges":["π’ Free forever","π’ Commercial OK","π Single resource","π΄ One-time"],"valueModel":{"bucket":"free","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":3.6,"unit":"score","value":3.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"$/mo","value":0.001},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":5.2,"unit":"score","value":5.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":7.6,"unit":"score","value":7.6}],"required_axis_count":3,"score":3.6,"score_formula":"weighted_components_v1","value":0.001,"value_kind":"usd_month","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/deno-cron","slug":"deno-cron","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"Deno Cron","provider":"Deno Cron","planName":"freemium","kind":"Runtime cron","description":"Declare scheduled JavaScript or TypeScript tasks directly with Deno.cron and run them on Deno Deploy.","logo":"/logos/deno-deploy.svg","url":"https://docs.deno.com/deploy/classic/cron/","freeLimit":"Deno Deploy plan and runtime limits apply; verify current Deploy pricing and cron availability.","bestFor":"Deno/TypeScript projects that want cron in code without a separate scheduler service.","caveats":"Tied to Deno runtime and Deno Deploy behavior. Verify current Deploy generation and plan support.","sourceUrl":"https://docs.deno.com/deploy/classic/cron/","offerFacts":[{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Cron definitions in code","Zero-config Deno Deploy scheduling","No overlapping cron executions"],"tags":["deno","cron","typescript","serverless","runtime"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"Deno Deploy Classic, which hosts Deno.cron, is being permanently shut down on July 20, 2026; all cron jobs will cease to function unless migrated to the new Deno Deploy platform.","label":"Deno Deploy Classic shuts down July 20, 2026","renewable":false,"sentiment":"con","severity":"high","type":"time_limited"},{"detail":"Cron invocations are billed at the same rate as inbound HTTP requests and count against the 1 million requests/month free-tier cap; overages are not allowed on the free plan.","label":"1M requests/month free","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable","unit":"requests/month","value":1000000},{"detail":"Free plan includes 15 hours of total CPU time per month across all deployments; note this does not apply to Classic (only new Deploy platform).","label":"15h CPU time/month","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable","unit":"CPU hours/month","value":15},{"detail":"Free tier is capped at 20 GB of outbound bandwidth per month across all deployments.","label":"20GB egress/month","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"GB/month","value":20},{"detail":"Free plan allows 350 GB-hours of memory-time per month; applicable only to new Deno Deploy platform, not Classic.","label":"350 GB-h memory-time/month","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"GB-h/month","value":350},{"detail":"Free tier allows at most 20 simultaneously active deployments across the organization, limiting how many separate cron-bearing projects can coexist.","label":"Max 20 active apps","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"apps","value":20},{"detail":"Deno.cron only executes on production deployments, not preview/branch deployments, limiting testing and staging workflows.","label":"Production deployments only","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Free plan has no reliability SLA and no email support; only community Discord is available, making it unsuitable for critical scheduled tasks.","label":"No SLA or email support","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Free tier retains logs for only 1 day, making debugging and auditing of cron execution history very limited.","label":"1-day log retention","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted","unit":"days","value":1},{"detail":"Free plan does not include wildcard subdomain routing, restricting multi-tenant cron application patterns.","label":"No wildcard subdomains","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Deno Deploy does not guarantee precise cron firing times; invocation may occur up to 1 minute late from the scheduled time.","label":"Cron timing variance up to 1 minute","renewable":false,"sentiment":"neutral","severity":"low","type":"performance_throttled","unit":"minutes","value":1},{"detail":"Deno.cron is available only within the Deno runtime and Deno Deploy; there is no equivalent for Node.js, Python, or other runtimes.","label":"Deno runtime lock-in","renewable":false,"sentiment":"neutral","severity":"high","type":"feature_restricted"},{"detail":"Cron tasks must be defined at module top-level scope at deploy time; dynamic scheduling at runtime requires a separate Deno Queues API.","label":"Static cron definitions only","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Free plan allows a maximum of 60 deployments per hour, which can constrain rapid iteration on cron definitions.","label":"60 deployments/hour","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"deployments/hour","value":60}],"keyMetrics":[{"display":"1.0M/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"stated","source":"frontmatter_keyMetrics.executions","unit":"runs/month","value":1000000},{"display":"60.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":60},{"display":"6","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"api, cron, history, http, logs, timeout","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":6},{"display":"10 jobs","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs","value":10},{"display":"1 min","key":"min_interval","label":"Min interval","unit":"min","value":1},{"display":"1M/mo","key":"shared_executions","label":"Executions","note":"shared req cap","unit":"runs/mo","value":1000000},{"display":"1 logs","key":"history_retention","label":"Run history","unit":"logs","value":1},{"display":"n/a","key":"timeout","label":"Job timeout","unit":"min"}],"verified":true,"timestamp":"2026-06-16T00:00:00+00:00","verifiedAt":"2026-06-16","badges":["π’ Commercial OK","π΄ Trial expires","π Single resource"],"valueModel":{"bucket":"freemium","calc":{"allowance_usd_mo":1,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":6.3,"unit":"score","value":6.3,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":7,"unit":"$/mo","value":1},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":4.5,"unit":"score","value":4.5},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":7.1,"unit":"score","value":7.1}],"required_axis_count":3,"score":6.3,"score_formula":"weighted_components_v1","value":1,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"cron_jobs","source":"frontmatter_keyMetrics","unit":"jobs","value":10}],"raw":{"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/azure-functions-timer","slug":"azure-functions-timer","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"Azure Functions Timer Trigger","provider":"Azure Functions Timer Trigger","planName":"freemium","kind":"Cloud function timer","description":"Run Azure Functions on a schedule using timer triggers.","logo":"/logos/azure-for-students.svg","url":"https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer","freeLimit":"Azure consumption, free grants, and billing terms depend on the account and current plan.","bestFor":"Azure-native scheduled functions, maintenance tasks, and integrations with Azure services.","caveats":"Best for Azure stacks. Account, billing, and function-app configuration are heavier than lightweight cron services.","sourceUrl":"https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer","offerFacts":[{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"True","origin":"frontmatter"}],"highlights":["Timer trigger for Azure Functions","Cloud-native schedule execution","Works with Azure bindings and services"],"tags":["azure","cron","functions","timer","cloud"],"pricingModel":"freemium","renewal":"monthly","requiresCard":true,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"Consumption plan includes 1 million function executions per month at no charge, resetting monthly across all function apps in the subscription.","label":"1M executions/month free","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"executions/month","value":1000000},{"detail":"Consumption plan includes 400,000 GB-seconds of resource consumption per month per subscription at no charge.","label":"400,000 GB-s compute free","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"GB-s/month","value":400000},{"detail":"The monthly free grants apply only to paid consumption subscriptions β a credit card must be on file and an active Azure subscription set up.","label":"Paid Azure subscription required","renewable":false,"sentiment":"con","severity":"medium","type":"requires_card"},{"detail":"Consumption plan instances scale to zero when idle and cold-start on the next timer trigger, adding latency; eliminating cold starts requires the paid Premium plan.","label":"Cold starts on Consumption plan","renewable":false,"sentiment":"neutral","severity":"medium","type":"cold_start_sleep"},{"detail":"VNET integration, guaranteed warm instances, and enhanced performance are only available on the paid Premium plan; the free Consumption plan has none of these.","label":"No VNET or enhanced perf on free tier","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"A storage account is created by default with every Functions app and is not included in the free grant β standard Azure storage and networking rates apply on top.","label":"Storage account billed separately","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Consumption plan runs on shared infrastructure with no dedicated resources; execution time is capped at 5 minutes by default (configurable up to 10 minutes).","label":"Shared, burstable compute only","renewable":false,"sentiment":"neutral","severity":"medium","type":"performance_throttled"},{"detail":"Consumption plan has no financially backed SLA in the free grant tier; Premium plan provides 99.95% SLA.","label":"No SLA on Consumption free tier","renewable":false,"sentiment":"neutral","severity":"info","type":"feature_restricted"}],"keyMetrics":[{"display":"1.0M/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"stated","source":"frontmatter_keyMetrics.executions","unit":"runs/month","value":1000000},{"display":"3000.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":3000},{"display":"5","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron, history, logs, state, timeout","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":5},{"display":"β","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs"},{"display":"1.2 s","key":"min_interval","label":"Min interval","note":"NCRONTAB","unit":"min","value":0.02},{"display":"1M/mo","key":"executions","label":"Executions","unit":"runs/mo","value":1000000},{"display":"n/a","key":"history_retention","label":"Run history","note":"via App Insights","unit":"logs"},{"display":"10 min","key":"timeout","label":"Job timeout","note":"5 min default","unit":"min","value":10}],"verified":true,"timestamp":"2026-06-16T00:00:00+00:00","verifiedAt":"2026-06-16","badges":["π’ Commercial OK","π΄ Card/balance required","π Cold start","π’ Never sleeps"],"valueModel":{"bucket":"freemium","calc":{"allowance_usd_mo":0.2,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":5.9,"unit":"score","value":5.9,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":5.6,"unit":"$/mo","value":0.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":5.6,"unit":"score","value":5.6},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":7,"unit":"score","value":7}],"required_axis_count":3,"score":5.9,"score_formula":"weighted_components_v1","value":0.2,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"job_run","source":"frontmatter_keyMetrics","unit":"runs/mo","value":1000000}],"raw":{"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/cron-job-org","slug":"cron-job-org","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"cron-job.org","provider":"Cron-Job.org","planName":"free_forever","kind":"Cron job scheduler","description":"Free, donation-funded HTTP cron scheduler that calls any URL on a schedule from minutely to yearly, with execution history, failure alerts, and a REST API.","logo":"/logos/apis/cron-job-org.png","url":"https://cron-job.org/en/","freeLimit":"Unlimited cron jobs (subject to fair use), each runnable up to once per minute (60x/hour), with custom HTTP method/headers/body, failure/recovery and SSL-expiry email alerts, status pages, and a REST API β entirely free, no paid tier.","bestFor":"Triggering serverless functions, webhooks, or maintenance scripts on a schedule without running your own cron infrastructure, and lightweight uptime monitoring.","caveats":"Each execution times out at 30 seconds and only the first 64 KB of the response is read; response headers/bodies are kept just 2 days and only the last 50 executions per job are viewable. Jobs that fail 25 times in a row are auto-disabled, and the service may intentionally delay jobs that fail often or run long, so it is not a guaranteed-punctuality scheduler.","sourceUrl":"https://cron-job.org/en/faq/","offerFacts":[{"key":"pricingModel","valueText":"free_forever","origin":"value_model_raw"},{"key":"renewal","valueText":"none","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Unlimited cron jobs at frequencies down to once per minute, completely free and donation-funded β no credit card, no paid tier","Full HTTP control: custom request method, headers, body, cookies, HTTP auth, and SSL/self-signed URL support","Execution history with response headers/body plus failure, recovery, and SSL-expiry email notifications and publishable status pages/badges","REST API for programmatic job management, MFA (authenticator app or YubiKey), and GPL-licensed open-source codebase"],"tags":["cron","scheduler","webhooks","http","monitoring","open-source","rest-api","free"],"pricingModel":"free_forever","renewal":"none","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"Each job's HTTP request times out after 30 seconds and the connection is closed; longer-running scripts must finish work in the background (e.g. PHP ignore_user_abort).","label":"30-second execution timeout","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"seconds","value":30},{"detail":"Only the first 64 KB of a URL/script's output is read; if more data is sent, the job execution is aborted.","label":"64 KB response read limit","renewable":false,"sentiment":"con","severity":"low","type":"total_volume_cap","unit":"KB","value":64},{"detail":"Jobs can run at most 60 times per hour (once per minute); sub-minute scheduling is not available.","label":"Minimum 1-minute interval","renewable":false,"sentiment":"neutral","severity":"low","type":"rate_limit","unit":"min","value":1},{"detail":"Execution history shows only the last 50 executions per job, and response headers/bodies are stored for just 2 days.","label":"History retained 2 days / last 50 runs","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted","unit":"executions","value":50},{"detail":"Execution may be slightly delayed during peak hours, and jobs that fail often or run long may be intentionally delayed to protect overall service stability.","label":"No punctuality guarantee","renewable":false,"sentiment":"neutral","severity":"low","type":"performance_throttled"},{"detail":"A cronjob that fails more than 25 times in a row is automatically deactivated (assumed to point at an invalid/expired URL).","label":"Auto-disable after 25 consecutive failures","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"failures","value":25},{"detail":"No hard cap on job count, but abusive or excessive usage can lead to account deletion; some headers (User-Agent, Connection) are ignored.","label":"Fair-use enforcement","renewable":false,"sentiment":"neutral","severity":"info","type":"feature_restricted"}],"keyMetrics":[{"display":"43.2K/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"stated","source":"frontmatter_keyMetrics.executions","unit":"runs/month","value":43200},{"display":"30.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":30},{"display":"10","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"alerts, api, cron, failure, history, http, logs, rest api, timeout, webhooks","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":10},{"display":"β","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs"},{"display":"1 min","key":"min_interval","label":"Min interval","unit":"min","value":1},{"display":"43K/mo","key":"executions","label":"Executions","unit":"runs/mo","value":43200},{"display":"50 logs","key":"history_retention","label":"Run history","note":"2 days","unit":"logs","value":50},{"display":"30 s","key":"timeout","label":"Job timeout","unit":"min","value":0.5}],"verified":true,"timestamp":"2026-06-17T00:00:00+00:00","verifiedAt":"2026-06-17","badges":["π’ Free forever","π’ Commercial OK","π Single resource","π΄ One-time","π’ Open/self-hosted"],"valueModel":{"bucket":"free","calc":{"allowance_usd_mo":0.01,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.2,"unit":"score","value":4.2,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":2.9,"unit":"$/mo","value":0.00864},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":4.2,"unit":"score","value":4.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":7.6,"unit":"score","value":7.6}],"required_axis_count":3,"score":4.2,"score_formula":"weighted_components_v1","value":0.009,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"job_run","source":"frontmatter_keyMetrics","unit":"runs/mo","value":43200}],"raw":{"pricingModel":"free_forever"},"subtop":"renewable"}},{"id":"schedulers/easycron","slug":"easycron","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"EasyCron","provider":"EasyCron","planName":"freemium","kind":"Hosted cron job scheduler","description":"Web-based cron job service that triggers HTTP/webhook requests on a schedule with execution logs and email alerts.","logo":"/logos/easycron.png","url":"https://www.easycron.com/","freeLimit":"Free plan: 200 executions per day with a 20-minute minimum interval, 5-second timeout, and 10 execution logs/predictions retained.","bestFor":"Hobby projects and low-frequency website keep-alive or periodic HTTP/webhook pings that don't need sub-20-minute scheduling.","caveats":"Free plan expires monthly and must be manually renewed; 20-minute minimum interval, 5-second timeout, and no failure-log retention, Slack/webhook notifications, custom HTTP, or regexp matching (paid only).","sourceUrl":"https://www.easycron.com/pricing","offerFacts":[{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["200 executions per day at no cost with a clean web UI","Cron-expression, fixed-interval, or manual scheduling for any HTTP URL","Execution tracking with logs, predictions, and email notifications","No credit card required to start the free plan"],"tags":["cron","scheduler","webhooks","http","automation","monitoring"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"Free plan is capped at 200 EPDs (executions per day); the daily allowance resets each day.","label":"200 executions per day","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable","unit":"runs/day","value":200},{"detail":"Cron jobs on the free plan cannot run more frequently than once every 20 minutes.","label":"20-minute minimum interval","renewable":false,"sentiment":"neutral","severity":"medium","type":"rate_limit","unit":"min","value":20},{"detail":"Each cron job request is aborted after 5 seconds; long-running endpoints will be cut off.","label":"5-second execution timeout","renewable":false,"sentiment":"neutral","severity":"high","type":"performance_throttled","unit":"sec","value":5},{"detail":"Only the 10 most recent execution logs and schedule predictions are retained.","label":"10 execution logs & predictions","renewable":false,"sentiment":"neutral","severity":"low","type":"single_resource_cap","unit":"logs","value":10},{"detail":"Only the first 10 KB (head & tail) of each cron job response body is saved.","label":"10 KB logged output","renewable":false,"sentiment":"neutral","severity":"low","type":"single_resource_cap","unit":"KB","value":10},{"detail":"Cron job can receive up to 100 MB of response data per execution.","label":"100 MB response receive cap","renewable":false,"sentiment":"neutral","severity":"info","type":"single_resource_cap","unit":"MB","value":100},{"detail":"The free plan expires every month and must be renewed to keep cron jobs running.","label":"Free plan expires monthly","renewable":true,"sentiment":"con","severity":"medium","type":"time_limited","unit":"month","value":1},{"detail":"Retaining failure logs is a paid-plan feature; not available on the free plan.","label":"No failure-log retention","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Customizing HTTP method/headers/body for requests is restricted to paid plans.","label":"No custom HTTP configuration","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Slack and webhook notifications are paid-only; the free plan offers email notifications only.","label":"No Slack or webhook notifications","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Regular-expression matching of cron job responses is a paid-plan feature.","label":"No regexp matching","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Subuser/team accounts are not available on the free plan (enterprise plans only).","label":"No subusers","renewable":false,"sentiment":"neutral","severity":"info","type":"feature_restricted"}],"keyMetrics":[{"display":"6.0K/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"stated","source":"frontmatter_keyMetrics.executions","unit":"runs/month","value":6000},{"display":"3.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":3},{"display":"8","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"alerts, cron, failure, history, http, logs, timeout, webhook","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":8},{"display":"200 runs","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs"},{"display":"20 min","key":"min_interval","label":"Min interval","unit":"min","value":20},{"display":"6K/mo","key":"executions","label":"Executions","note":"~6,000/mo","unit":"runs/mo","value":6000},{"display":"10 logs","key":"history_retention","label":"Run history","unit":"logs","value":10},{"display":"4.8 s","key":"timeout","label":"Job timeout","unit":"min","value":0.08}],"verified":true,"timestamp":"2026-06-17T00:00:00+00:00","verifiedAt":"2026-06-17","badges":["π’ Commercial OK","π Single resource","π΄ Trial expires"],"valueModel":{"bucket":"freemium","calc":{"allowance_usd_mo":0,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":3.1,"unit":"score","value":3.1,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":1.2,"unit":"$/mo","value":0.0012000000000000001},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":3.5,"unit":"score","value":3.5},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":7.1,"unit":"score","value":7.1}],"required_axis_count":3,"score":3.1,"score_formula":"weighted_components_v1","value":0.001,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"job_run","source":"frontmatter_keyMetrics","unit":"runs/mo","value":6000}],"raw":{"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/fastcron","slug":"fastcron","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"FastCron","provider":"FastCron","planName":"freemium","kind":"Cron job scheduler","description":"Hosted online cron service that runs scheduled HTTP requests with execution logs and failure alerts via email, Slack, and webhooks.","logo":"/logos/fastcron.png","url":"https://www.fastcron.com/","freeLimit":"Free forever (no credit card): 5 cron jobs at a 5-minute minimum interval, 50 execution logs retained, with unlimited executions, email/Slack/webhook failure notifications, and run-time predictions.","bestFor":"Hobby projects and small sites that need a handful of reliable scheduled HTTP pings (uptime checks, WordPress cron, periodic webhooks) without running their own server.","caveats":"Minimum interval on the free plan is 5 minutes (1-minute and 30-second intervals require paid plans), only the last 50 execution logs are kept, and any free-plan job that fails 50 consecutive times is automatically disabled.","sourceUrl":"https://www.fastcron.com/pricing","offerFacts":[{"key":"offered_price_usd","valueNumber":5,"valueText":"5.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"none","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["No execution-count cap β only the number of jobs is limited, so all 5 jobs can run continuously","Failure notifications via email, Slack, and webhooks included on the free plan","Fully customizable HTTP requests: method, headers, POST data, auth, cookies, user agent, and API token","No credit card required; signup starts on the free plan and paid accounts downgrade to it on expiry"],"tags":["cron","scheduler","cron-jobs","http","webhooks","monitoring","automation"],"pricingModel":"freemium","renewal":"none","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"The free plan allows a maximum of 5 cron jobs; more jobs require a paid plan (Starter is 15, Pro 80, Business 250+).","label":"5 cron jobs","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"jobs","value":5},{"detail":"Free-plan jobs can run no more frequently than every 5 minutes. The 1-minute interval is Starter ($5/mo) and 30-second is Pro ($20/mo).","label":"5-minute minimum interval","renewable":false,"sentiment":"neutral","severity":"medium","type":"rate_limit","unit":"min","value":5},{"detail":"Only the most recent 50 execution logs are retained on the free plan; older logs are discarded.","label":"50 execution logs","renewable":false,"sentiment":"con","severity":"low","type":"total_volume_cap","unit":"logs","value":50},{"detail":"On the free plan, a cron job that fails 50 consecutive times is automatically disabled and must be re-enabled manually.","label":"Auto-disable after 50 consecutive failures","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted","unit":"failures","value":50}],"keyMetrics":[{"display":"8.6K/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"derived","source":"derived_from_frontmatter_keyMetrics.cron_jobs_min_interval","unit":"runs/month","value":8640},{"display":"12.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":12},{"display":"10","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"alerts, api, cron, failure, history, http, logs, timeout, webhook, webhooks","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":10},{"display":"5 jobs","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs","value":5},{"display":"5 min","key":"min_interval","label":"Min interval","unit":"min","value":5},{"display":"β","key":"executions","label":"Executions","unit":"runs/mo"},{"display":"50 logs","key":"history_retention","label":"Run history","unit":"logs","value":50},{"display":"n/a","key":"timeout","label":"Job timeout","unit":"min"}],"verified":true,"timestamp":"2026-06-17T00:00:00+00:00","verifiedAt":"2026-06-17","badges":["π’ Free forever","π’ Commercial OK","π Single resource","π΄ One-time"],"valueModel":{"bucket":"free","calc":{"allowance_usd_mo":0.5,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":6.3,"unit":"score","value":6.3,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":6.4,"unit":"$/mo","value":0.5},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":5.2,"unit":"score","value":5.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":7.6,"unit":"score","value":7.6}],"required_axis_count":3,"score":6.3,"score_formula":"weighted_components_v1","value":0.5,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"cron_jobs","source":"frontmatter_keyMetrics","unit":"jobs","value":5}],"raw":{"offered_price_usd":5,"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/inngest","slug":"inngest","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"Inngest","provider":"Inngest","planName":"freemium","kind":"Durable workflow & cron scheduler","description":"Durable execution platform with native cron scheduling, event-driven workflows, retries, and built-in observability β no queues or workers to manage.","logo":"/logos/inngest.png","url":"https://www.inngest.com","freeLimit":"Hobby plan ($0/mo, no card): 50,000 executions/month, 500k events/month, 5 concurrent steps, 100k queue depth, unlimited serverless cron functions, and 24h trace/log retention.","bestFor":"Individual developers and small projects that need reliable cron/scheduled jobs and durable background workflows with automatic retries, without running their own queues or workers.","caveats":"Executions pause once the 50k/month quota is exhausted (must upgrade to resume β no auto-overage on Hobby). Each step counts as a separate execution (a run with 5 steps = 6 executions), so quota burns faster than raw run counts suggest. Trace/log history is only 24h and metrics granularity is 30 minutes on the free tier.","sourceUrl":"https://www.inngest.com/pricing","offerFacts":[{"key":"offered_price_usd","valueNumber":0,"valueText":"0.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Native cron schedules with timezone support (TZ= prefix, automatic DST handling)","50,000 executions and 500k events per month at $0 with no credit card","Durable execution: per-step automatic retries, state persistence, and failure recovery","Unlimited serverless workers/functions plus built-in tracing, metrics, and alerts"],"tags":["scheduler","cron","durable-execution","workflows","background-jobs","event-driven","serverless","queues","retries","open-source"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"Hobby plan includes 50k executions (durable function runs + each step) per month. Each step.run() counts separately, so a run with 5 steps consumes 6 executions. Resets monthly.","label":"50,000 executions/month","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable","unit":"executions/mo","value":50000},{"detail":"Up to 500,000 events received/processed per month on the free tier. Resets monthly.","label":"500k events/month","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"events/mo","value":500000},{"detail":"On Hobby, execution pauses once the free 50k/month quota is exhausted β there is no metered overage; you must upgrade to Pro to keep running until the next monthly reset.","label":"Executions pause when quota exhausted","renewable":true,"sentiment":"neutral","severity":"high","type":"total_volume_cap"},{"detail":"Maximum of 5 concurrent step executions on the free tier (Pro starts at 100), limiting parallel throughput.","label":"5 concurrent steps","renewable":false,"sentiment":"neutral","severity":"medium","type":"rate_limit","unit":"concurrent steps","value":5},{"detail":"Maximum 100,000 events queued awaiting execution at any time on the free tier.","label":"100k queue depth","renewable":false,"sentiment":"neutral","severity":"low","type":"single_resource_cap","unit":"events","value":100000},{"detail":"Free tier allows up to 50 concurrent realtime connections (Pro allows 1000).","label":"50 realtime connections","renewable":false,"sentiment":"neutral","severity":"low","type":"single_resource_cap","unit":"connections","value":50},{"detail":"Realtime messaging is capped at 250,000 messages per day on the free tier (Pro is 1M/day).","label":"250k realtime messages/day","renewable":true,"sentiment":"neutral","severity":"low","type":"rate_limit","unit":"messages/day","value":250000},{"detail":"Each individual event payload is limited to 256 KiB on the free tier (Pro raises this to 3 MiB).","label":"256 KiB max event size","renewable":false,"sentiment":"neutral","severity":"low","type":"single_resource_cap","unit":"KiB","value":256},{"detail":"Hobby includes up to 3 team members and 3 low-latency always-connected workers (serverless workers are unlimited).","label":"3 users / 3 always-on workers","renewable":false,"sentiment":"neutral","severity":"low","type":"single_resource_cap","unit":"users","value":3},{"detail":"Tracing and logs for each function run are retained for only 24 hours on the free tier (Pro: 7 days, Enterprise: 90 days).","label":"24h trace/log retention","renewable":false,"sentiment":"con","severity":"medium","type":"time_limited","unit":"hours","value":24},{"detail":"Real-time function metrics are aggregated at 30-minute granularity on the free tier (Pro: 15 min, Enterprise: 1 min).","label":"30-minute metrics granularity","renewable":false,"sentiment":"neutral","severity":"low","type":"performance_throttled","unit":"minutes","value":30},{"detail":"Free tier provides only basic tracing, metrics, and alerts. Granular observability, trace/log exports, and integrations (Datadog, etc.) require Pro/Enterprise or paid add-ons.","label":"Basic tracing/metrics/alerts only","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Event batching is limited to 5 events per batch with a 30-second batch timeout on the free tier (Pro: 100 events / 5 min).","label":"Batch capacity capped at 5","renewable":false,"sentiment":"neutral","severity":"info","type":"feature_restricted","unit":"events/batch","value":5}],"keyMetrics":[{"display":"50.0K/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"stated","source":"frontmatter_keyMetrics.executions","unit":"runs/month","value":50000},{"display":"75.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":75},{"display":"12","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"alerts, cron, durable, failure, history, logs, queue, queues, retries, state","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":12},{"display":"β","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs"},{"display":"1 min","key":"min_interval","label":"Min interval","unit":"min","value":1},{"display":"50K/mo","key":"executions","label":"Executions","unit":"runs/mo","value":50000},{"display":"24 logs","key":"history_retention","label":"Run history","unit":"logs","value":24},{"display":"No fixed","key":"timeout","label":"Job timeout","note":"bound by host","unit":"min"}],"verified":true,"timestamp":"2026-06-17T00:00:00+00:00","verifiedAt":"2026-06-17","badges":["π’ Free forever","π’ Commercial OK","π΄ One-time","π Single resource","π΄ Trial expires","π’ Open/self-hosted"],"valueModel":{"bucket":"free","calc":{"allowance_usd_mo":0.01,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":3.7,"unit":"score","value":3.7,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":3,"unit":"$/mo","value":0.010000000000000002},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":3,"unit":"score","value":3},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":6.4,"unit":"score","value":6.4}],"required_axis_count":3,"score":3.7,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"job_run","source":"frontmatter_keyMetrics","unit":"runs/mo","value":50000}],"raw":{"offered_price_usd":0,"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/vercel-queues","slug":"vercel-queues","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"Vercel Queues","provider":"Vercel Queues","planName":"freemium","kind":"Managed message queue","description":"Durable, serverless message queue for deferring async work: publish messages to topics and process them via managed consumer groups with automatic scaling, at-least-once delivery, and built-in retries.","logo":"/logos/vercel.svg","url":"https://vercel.com/docs/queues","freeLimit":"Hobby includes the first 1,000,000 Queue API operations per month free; beyond that, regional on-demand pricing starting at $0.60 per 1M operations.","bestFor":"Offloading expensive work (emails, PDFs, external API calls), absorbing traffic spikes, and guaranteeing task completion in Next.js / Vercel Functions apps without managing queue infrastructure.","caveats":"Public beta (trigger type queue/v2beta) β API may change. Operations metered in 4 KiB chunks, so large messages multiply usage; idempotency-key sends and max-concurrency push deliveries bill at 2x. Push-mode functions still incur Fluid compute charges. Hobby is personal/noncom use only.","sourceUrl":"https://vercel.com/docs/queues/pricing","offerFacts":[{"key":"offered_price_usd","valueNumber":0.6,"valueText":"0.6","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["1M API operations/month free on Hobby","At-least-once delivery with automatic retries","Fan-out to multiple independent consumer groups","Push and poll consumption modes via @vercel/queue"],"tags":["vercel","queue","message-queue","async","serverless","beta"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"The Hobby plan includes the first 1,000,000 Queue API operations per month at no cost; the five billable operation types are Send, Receive, Delete, Visibility change, and Notify.","label":"1M API operations/month free","renewable":true,"sentiment":"pro","severity":"info","type":"quota_renewable","unit":"operations/month","value":1000000},{"detail":"Vercel Queues is in public beta (introduced Feb 27, 2026) and uses the experimental queue/v2beta trigger type; the API, SDK, and pricing may change before general availability.","label":"Public beta","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Messages are billed in 4 KiB chunks, so a single 12 KiB message counts as three operations β large payloads consume the free quota faster.","label":"Operations metered in 4 KiB chunks","renewable":false,"sentiment":"con","severity":"medium","type":"total_volume_cap"},{"detail":"Sends that include an idempotency key and push deliveries that use max concurrency are billed at 2x units for that operation.","label":"2x billing on idempotency and max-concurrency","renewable":false,"sentiment":"con","severity":"low","type":"total_volume_cap"},{"detail":"The 1M monthly included operations reset each month; unused operations do not carry forward.","label":"Free quota does not roll over","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable"},{"detail":"The Hobby plan is intended for personal, noncom projects; commercial workloads require upgrading to a paid plan.","label":"Hobby is noncom only","renewable":false,"sentiment":"con","severity":"medium","type":"no_commercial_use"},{"detail":"Individual messages cannot exceed 100 MB; combined with 4 KiB metering this means a max-size message is extremely operation-heavy.","label":"100 MB max message size","renewable":false,"sentiment":"neutral","severity":"low","type":"single_resource_cap"},{"detail":"Message retention (TTL) ranges from 60 seconds to a maximum of 7 days, defaulting to 24 hours; messages expire and are dropped after their TTL.","label":"7-day max retention","renewable":false,"sentiment":"con","severity":"low","type":"time_limited"},{"detail":"Functions invoked by Queues in push mode are charged at existing Fluid compute rates, in addition to the queue API operation cost.","label":"Push-mode compute billed separately","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"}],"keyMetrics":[{"display":"1.0M/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"stated","source":"frontmatter_keyMetrics.executions","unit":"runs/month","value":1000000},{"display":"1.2/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":1.25},{"display":"9","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"api, concurrency, cron, durable, history, queue, queues, retries, timeout","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":9},{"display":"1M/mo","key":"executions","label":"API operations","note":"Public beta; metered in 4 KiB chunks, so large messages count as multiple operations","primary":true,"unit":"ops/mo","value":1000000},{"display":"β","key":"cron_jobs","label":"Topics","unit":"topics"},{"display":"60","key":"min_interval","label":"Min retention","unit":"s","value":60},{"display":"7 days","key":"history_retention","label":"Retention","note":"Default 24h, max 7 days","unit":"days","value":7},{"display":"1 hr","key":"timeout","label":"Visibility timeout","unit":"min","value":60}],"verified":true,"timestamp":"2026-06-17T00:00:00+00:00","verifiedAt":"2026-06-17","badges":["π΄ Non-commercial","π΄ One-time","π Single resource","π΄ Trial expires","π’ Free forever"],"valueModel":{"bucket":"freemium","calc":{"allowance_usd_mo":0.2,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":5,"unit":"score","value":5,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":5.6,"unit":"$/mo","value":0.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":5,"unit":"score","value":5},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":3.6,"unit":"score","value":3.6}],"required_axis_count":3,"score":5,"score_formula":"weighted_components_v1","value":0.2,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"allowed_use":"noncom","source":"stated","value":false},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"job_run","source":"frontmatter_keyMetrics","unit":"ops/mo","value":1000000}],"raw":{"offered_price_usd":0.6,"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/vercel-workflows","slug":"vercel-workflows","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"Vercel Workflows","provider":"Vercel Workflows","planName":"freemium","kind":"Durable workflow orchestration","description":"Fully managed durable workflow platform: write async JS/TS/Python that pauses, sleeps, retries steps, and resumes across deploys and crashes β no queue or workers to run yourself.","logo":"/logos/vercel.svg","url":"https://vercel.com/docs/workflows","freeLimit":"Hobby ($0/mo, no card): 50,000 Workflow Events/month and 1 GB Workflow Data Written/month included. Cron schedules unlimited, no max run duration, no max sleep duration. Underlying Vercel Functions/Queues compute is billed against normal Hobby limits.","bestFor":"Individual developers and personal projects needing durable, resumable multi-step jobs and AI agents β retries, long sleeps, and persisted state β without standing up their own queue or worker infrastructure.","caveats":"Built on Vercel Functions + Queues, so function compute and Queues usage still count against standard Hobby allowances on top of the 50K events. Workflow Data Retained is not available on Hobby and completed-run state is kept only 1 day. Each step transition emits multiple events (step_created/started/completed, plus step_retrying on retries), so 50K events is consumed faster than raw run counts suggest. Hobby is personal/noncom use only; exceeding a quota usually blocks the feature until 30 days pass.","sourceUrl":"https://vercel.com/docs/workflows/pricing","offerFacts":[{"key":"offered_price_usd","valueNumber":0,"valueText":"0.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["50,000 Workflow Events/month + 1 GB data written at $0, no credit card","Durable execution: per-step retries, deterministic replay, survives deploys and crashes","Pause for minutes to months with sleeps and external-event hooks β no max sleep duration","Built-in observability (logs, metrics, tracing) and unlimited cron schedules"],"tags":["scheduler","cron","durable-execution","workflows","orchestration","background-jobs","serverless","queues","retries","ai-agents"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"Hobby includes 50,000 Workflow Events per month; every state transition is an event (a normal step produces step_created, step_started, step_completed, plus step_retrying on retries). On-demand overage is $0.02 per 1K events on paid plans. Resets monthly.","label":"50,000 events/month","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable","unit":"events/mo","value":50000},{"detail":"Hobby includes 1 GB of Workflow Data Written per month (workflow state, event logs, and stream data). Overage is $0.50 per GB on paid plans.","label":"1 GB data written/month","renewable":true,"sentiment":"neutral","severity":"low","type":"total_volume_cap","unit":"GB/mo","value":1},{"detail":"Workflow Data Retained (billed $0.50 per GB-month on paid plans) is not available on Hobby; long-lived retained persistence requires Pro or Enterprise.","label":"Data Retained not available on Hobby","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Managed-persistence storage for a run is retained only 1 day after completion on Hobby (Pro 7 days, Enterprise 30 days). Not configurable by default without contacting support.","label":"1-day state retention","renewable":false,"sentiment":"con","severity":"medium","type":"time_limited","unit":"days","value":1},{"detail":"Workflows run on Vercel Functions and are orchestrated by Vercel Queues; function compute (Active CPU 4 CPU-hrs, Function Invocations 1M, Function Duration 100 GB-hrs on Hobby) and Queues usage count against standard limits on top of the 50K events.","label":"Compute billed separately","renewable":true,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Hobby is capped at 100,000 Workflow API requests per minute (event creation, stream writes, and reads). Exceeding it does not fail runs β requests auto-retry with backoff, slowing throughput. Pro 1M/min, Enterprise 5M/min.","label":"100K requests/minute","renewable":true,"sentiment":"neutral","severity":"low","type":"rate_limit","unit":"requests/min","value":100000},{"detail":"Each individual workflow run is capped at 25,000 events (and 10,000 steps). Runs above 2,000 events or 1 GB entity storage replay more slowly; split into child workflows for performance.","label":"25,000 events per run","renewable":false,"sentiment":"neutral","severity":"low","type":"single_resource_cap","unit":"events/run","value":25000},{"detail":"Maximum total entity storage per run is 2 GB; max payload size is 50 MB and max stream chunk size is 10 MB.","label":"2 GB entity storage per run","renewable":false,"sentiment":"neutral","severity":"low","type":"single_resource_cap","unit":"GB/run","value":2},{"detail":"Max workflow replay duration is 240 seconds; individual step runtime is bound by Vercel Functions limits (10s default, configurable up to 60s on Hobby).","label":"240s max replay duration","renewable":false,"sentiment":"neutral","severity":"low","type":"performance_throttled","unit":"seconds","value":240},{"detail":"The Hobby plan is restricted to noncom, personal use under Vercel's fair-use guidelines. Commercial use requires upgrading to Pro.","label":"Personal / noncom only","renewable":false,"sentiment":"con","severity":"medium","type":"no_commercial_use"},{"detail":"On Hobby there are no billing cycles; if you exceed an included usage limit you generally must wait until 30 days have passed before using the feature again (no metered overage).","label":"30-day lockout on overage","renewable":true,"sentiment":"pro","severity":"medium","type":"quota_renewable"}],"keyMetrics":[{"display":"50.0K/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"stated","source":"frontmatter_keyMetrics.executions","unit":"runs/month","value":50000},{"display":"75.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"frontmatter_keyMetrics.min_interval","unit":"reliable slots/hour","value":75},{"display":"11","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron, durable, history, logs, queue, queues, retries, state, timeout, workflow","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":11},{"display":"50K/mo","key":"executions","label":"Workflow events","primary":true,"unit":"events/mo","value":50000},{"display":"No limit","key":"cron_jobs","label":"Cron jobs","unit":"jobs"},{"display":"1 min","key":"min_interval","label":"Min interval","unit":"min","value":1},{"display":"1 days","key":"history_retention","label":"Run history","note":"after run completes","unit":"days","value":1},{"display":"No limit","key":"timeout","label":"Run duration","note":"step bound by Functions","unit":"min"}],"verified":true,"timestamp":"2026-06-17T00:00:00+00:00","verifiedAt":"2026-06-17","badges":["π΄ Non-commercial","π΄ One-time","π΄ Trial expires","π Single resource","π’ Free forever"],"valueModel":{"bucket":"freemium","calc":{"allowance_usd_mo":0.01,"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":3.1,"unit":"score","value":3.1,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_quantity_times_reference_price","score":3,"unit":"$/mo","value":0.010000000000000002},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":3,"unit":"score","value":3},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":3.6,"unit":"score","value":3.6}],"required_axis_count":3,"score":3.1,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"usd_month","value_provenance":"provider_quantity_times_reference_price"},"commercial":{"allowed_use":"noncom","source":"stated","value":false},"generated_by":"scripts/score-infra-value.py","quantities":[{"key":"job_run","source":"frontmatter_keyMetrics","unit":"events/mo","value":50000}],"raw":{"offered_price_usd":0,"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/windmill","slug":"windmill","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"Windmill","provider":"Windmill","planName":"open_source_selfhost","kind":"Open-source workflow engine","description":"Open-source developer platform for cron-scheduled scripts, flows and internal apps, self-hosted for free with unlimited executions.","logo":"/logos/paid-windmill.png","url":"https://www.windmill.dev","freeLimit":"Self-hosted Community Edition ($0): unlimited cron schedules and executions across 3 workspaces and up to 50 users (10 with SSO), with unlimited scripts/flows/apps and run-detail retention up to 30 days.","bestFor":"Teams that want a self-hosted, code-first cron scheduler with a visual builder, execution history and a UI for managing recurring jobs without per-execution costs.","caveats":"Free tier is self-hosted only (Docker/K8s/Fargate) with no managed cloud included; schedule error/recovery handlers, workspace error handlers and alerting are Enterprise-only despite often being assumed free; no commercial licence, capped at 4 groups, Git sync limited to 2 users, email triggers capped at 100/day, and job run details retained only up to 30 days.","sourceUrl":"https://www.windmill.dev/pricing","offerFacts":[{"key":"pricingModel","valueText":"open_source_selfhost","origin":"value_model_raw"},{"key":"renewal","valueText":"none","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"highlights":["Unlimited cron schedules and executions at $0 with no per-run metering","Visual/AI cron builder plus full Runs history UI for monitoring jobs","Self-host on Docker, Kubernetes or AWS Fargate; deploy in minutes","Unlimited scripts, flows and apps in TypeScript, Python, Go, PHP, Bash, SQL and Rust"],"tags":["cron","scheduler","workflow","open-source","self-hosted","automation","internal-tools","no-code"],"pricingModel":"open_source_selfhost","renewal":"none","requiresCard":false,"creditAmountUsd":null,"eligibility":["anyone"],"limitations":[{"detail":"Community Edition is limited to 3 workspaces total; workspace forks also count toward this limit.","label":"3 workspaces","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"workspaces","value":3},{"detail":"A maximum of 50 users per instance on the free Community Edition.","label":"Max 50 users","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"users","value":50},{"detail":"SSO login is limited to 10 users on the free tier; uncapped SSO requires Enterprise seats.","label":"10 SSO users","renewable":false,"sentiment":"neutral","severity":"medium","type":"single_resource_cap","unit":"users","value":10},{"detail":"Groups, folders and granular permissions are capped at a maximum of 4 groups.","label":"Max 4 groups","renewable":false,"sentiment":"neutral","severity":"low","type":"single_resource_cap","unit":"groups","value":4},{"detail":"Retention period of job run details is limited to 30 days; unlimited retention is Enterprise-only.","label":"30-day run detail retention","renewable":false,"sentiment":"con","severity":"medium","type":"time_limited","unit":"days","value":30},{"detail":"Schedule error handlers, schedule recovery handlers and workspace error handlers are Enterprise Edition features, not available on the free tier.","label":"No schedule error/recovery handlers","renewable":false,"sentiment":"neutral","severity":"high","type":"feature_restricted"},{"detail":"Critical alerts, queue metrics, Prometheus metrics and OpenTelemetry tracing/logging are Enterprise-only.","label":"No critical alerts","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"},{"detail":"Concurrency limits, autoscaling, worker group management UI and agent workers are not available on the free tier.","label":"No concurrency limits / autoscaling","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"Syncing Windmill to a git repository (Git sync) is limited to up to 2 users on the free tier.","label":"Git sync limited to 2 users","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted","unit":"users","value":2},{"detail":"Email triggers are capped at a maximum of 100 emails per day on the Community Edition.","label":"Email triggers 100/day","renewable":true,"sentiment":"neutral","severity":"low","type":"rate_limit","unit":"emails/day","value":100},{"detail":"Kafka, NATS, SQS, GCP and Azure Event Grid triggers, plus content search, multiplayer WebIDE and workspace object storage (>50MB uploads), are Enterprise-only.","label":"No advanced triggers","renewable":false,"sentiment":"neutral","severity":"low","type":"feature_restricted"},{"detail":"The free Community Edition does not include a commercial licence; a commercial licence requires Enterprise.","label":"No commercial licence","renewable":false,"sentiment":"con","severity":"medium","type":"no_commercial_use"},{"detail":"The $0 tier is self-hosted (Docker/Kubernetes/Fargate) with community Discord support only; managed cloud and priority support require a paid plan.","label":"Self-hosted only","renewable":false,"sentiment":"neutral","severity":"medium","type":"feature_restricted"}],"keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"2.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"derived","source":"derived_from_limitations","unit":"reliable slots/hour","value":2},{"display":"4","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"api, cron, history, timeout","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":4},{"display":"β","key":"cron_jobs","label":"Cron jobs","primary":true,"unit":"jobs"},{"display":"0 min","key":"min_interval","label":"Min interval","note":"cron supports seconds field","unit":"min","value":0},{"display":"β","key":"executions","label":"Executions","unit":"runs/mo"},{"display":"30 days","key":"history_retention","label":"Run history","unit":"days","value":30},{"display":"Manual","key":"timeout","label":"Job timeout","note":"no plan cap","unit":"min"}],"verified":true,"timestamp":"2026-06-17T00:00:00+00:00","verifiedAt":"2026-06-17","badges":["π’ Free forever","π΄ Non-commercial","π Single resource","π΄ Trial expires","π’ Open/self-hosted"],"valueModel":{"bucket":"free","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":2.8,"unit":"score","value":2.8,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"$/mo","value":0.001},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":4.8,"unit":"score","value":4.8},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":4.3,"unit":"score","value":4.3}],"required_axis_count":3,"score":2.8,"score_formula":"weighted_components_v1","value":0.001,"value_kind":"usd_month","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"allowed_use":"noncom","source":"stated","value":false},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"pricingModel":"open_source_selfhost"},"subtop":"renewable"}},{"id":"schedulers/paid-aws-eventbridge-scheduler","slug":"paid-aws-eventbridge-scheduler","category":"schedulers","access":"conditional","accessBucket":"free","name":"AWS EventBridge Scheduler","provider":"AWS EventBridge Scheduler","planName":"paid","kind":"Paid plan","description":"Cron/rate-expression scheduled invocations; 14 million free invocations per month, then $1.00 per million; no charge for schedule CRUD.","logo":"/logos/aws-activate-credits.svg","url":"https://aws.amazon.com/eventbridge/pricing/","freeLimit":"Free 14 million invocations per month (no charge for schedule CRUD); then $1.00 per million. Cron/rate-expression scheduled invocations.","bestFor":"1,000,000 scheduled invocations per $1, plus 14M free monthly β effectively free for most workloads","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":1,"valueText":"1.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"freemium","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"1","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":1},{"display":"14M free/mo","key":"m0","label":"","primary":true},{"display":"$1/M","key":"m1","label":"","primary":false},{"display":"best value","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK","π’ Best value"],"valueModel":{"bucket":"freemium","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.7,"unit":"score","value":4.7,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"$/mo","value":0.001},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8.8,"unit":"score","value":8.8}],"required_axis_count":3,"score":4.7,"score_formula":"weighted_components_v1","value":0.001,"value_kind":"usd_month","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":1,"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/paid-google-cloud-scheduler","slug":"paid-google-cloud-scheduler","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"Google Cloud Scheduler","provider":"Google Cloud Scheduler","planName":"paid","kind":"Paid plan","description":"One scheduled job (any cron frequency, unlimited executions) for $0.10/job/month; first 3 jobs free per billing account; HTTP, Pub/Sub, App Engine targets.","logo":"/logos/googlecloud.svg","url":"https://cloud.google.com/scheduler/pricing","freeLimit":"Paid β $0.10 per job per month. One scheduled job (any cron frequency, unlimited executions) for $0.10/job/month; first 3 jobs free per billing account; HTTP, Pub/Sub, App Engine targets.","bestFor":"10 fully-managed cron jobs per $1/mo, with unlimited executions per job (billed by job definition, not runs)","caveats":"","sourceUrl":"https://cloud.google.com/scheduler/pricing","offerFacts":[{"key":"offered_price_usd","valueNumber":0.1,"valueText":"0.1","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"True","origin":"frontmatter"}],"tags":["paid","value","schedulers"],"pricingModel":"freemium","renewal":"monthly","requiresCard":true,"eligibility":["anyone"],"limitations":[{"detail":"Cloud Scheduler includes 3 free jobs per billing account per month; each additional job is $0.10/job/month with unlimited executions.","label":"3 free jobs/mo","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"jobs/mo","value":3},{"detail":"Requires a Google Cloud billing account with a card on file.","label":"GCP billing account required","renewable":false,"sentiment":"con","severity":"medium","type":"requires_card"}],"keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"2","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron, http","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":2},{"display":"$0.10/job","key":"m0","label":"","primary":true},{"display":"3 free","key":"m1","label":"","primary":false},{"display":"unltd exec","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π’ Commercial OK","π’ Best value","π’ Unlimited"],"valueModel":{"bucket":"freemium","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.4,"unit":"score","value":4.4,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"$/mo","value":0.001},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":7.5,"unit":"score","value":7.5}],"required_axis_count":3,"score":4.4,"score_formula":"weighted_components_v1","value":0.001,"value_kind":"usd_month","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":0.1,"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/upstash-qstash","slug":"upstash-qstash","category":"schedulers","access":"conditional","accessBucket":"paid","tier":"paid","name":"Upstash QStash","provider":"Upstash QStash","planName":"paid","kind":"Paid plan","description":"Unlimited messages/day, up to 1,000 active schedules, 10 MB message size, 1-year max delay, 2-hour HTTP response duration; no monthly minimum.","logo":"/logos/upstash-qstash.png","url":"https://upstash.com/pricing/qstash","freeLimit":"Paid β $1 per 100K messages (pay-as-you-go). Unlimited messages/day, up to 1,000 active schedules, 10 MB message size, 1-year max delay, 2-hour HTTP response duration; no monthly minimum.","bestFor":"100,000 scheduled/delivered messages per $1 β among the best $/invocation for serverless scheduling","caveats":"","offerFacts":[{"key":"pricingModel","valueText":"paid","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"paid","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"1","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"http","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":1},{"display":"$1/100k","key":"m0","label":"","primary":true},{"display":"1k sched","key":"m1","label":"","primary":false},{"display":"unltd/day","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK","π’ Embeddings/RAG","π Usage-metered"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"pricingModel":"paid"},"subtop":"renewable"}},{"id":"schedulers/google-cloud-tasks","slug":"google-cloud-tasks","category":"schedulers","access":"conditional","accessBucket":"free","name":"Google Cloud Tasks","provider":"Google Cloud Tasks","planName":"freemium","kind":"Paid plan","description":"Task queue with push delivery scheduling; first 1 million billable operations free per month, then $0.40/million up to 5 billion (API call or push delivery = one operation).","logo":"/logos/google-cloud-tasks.png","url":"https://cloud.google.com/tasks/pricing","freeLimit":"Free first 1 million operations per month; then $0.40/million up to 5 billion (API call or push delivery = one operation). Task queue with push delivery scheduling.","bestFor":"2,500,000 task operations per $1, plus 1M free monthly β cheapest per-operation cloud queue scheduler","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":0.4,"valueText":"0.4","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"freemium","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"2","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"api, queue","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":2},{"display":"1M free/mo","key":"m0","label":"","primary":true},{"display":"$0.40/M","key":"m1","label":"","primary":false},{"display":"2.5M/$1","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK"],"valueModel":{"bucket":"freemium","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.7,"unit":"score","value":4.7,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"$/mo","value":0.001},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8.8,"unit":"score","value":8.8}],"required_axis_count":3,"score":4.7,"score_formula":"weighted_components_v1","value":0.001,"value_kind":"usd_month","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":0.4,"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/paid-hatchet","slug":"paid-hatchet","category":"schedulers","access":"conditional","accessBucket":"free","tier":"paid","name":"Hatchet","provider":"Hatchet","planName":"paid","kind":"Paid plan","description":"Developer tier: first 100,000 task runs free, then $10 per 1M runs, SOC 2 Type II; Team $500/mo (10 users, 5 tenants, 500 RPS), Scale $1,000/mo (unlimited users, HIPAA).","logo":"/logos/hatchet.png","url":"https://hatchet.run/pricing","freeLimit":"Paid β $10 per 1M task runs (Developer, pay-as-you-go). Developer tier: first 100,000 task runs free, then $10 per 1M runs, SOC 2 Type II; Team $500/mo (10 users, 5 tenants, 500 RPS), Scale $1,000/mo (unlimited users, HIPAA).","bestFor":"100,000 task runs per $1 on the Developer tier (plus 100k free) β strong $/run for an orchestration platform","caveats":"","sourceUrl":"https://hatchet.run/pricing","offerFacts":[{"key":"offered_price_usd","valueNumber":10,"valueText":"10.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"tags":["paid","value","schedulers"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"eligibility":["anyone"],"limitations":[{"detail":"The Developer tier includes the first 100,000 task runs free per month; overage is $10 per 1M runs.","label":"First 100,000 task runs free","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"runs/mo","value":100000},{"detail":"Extended retention and support tiers require paid plans.","label":"Higher retention / support are paid","renewable":false,"sentiment":"con","severity":"low","type":"feature_restricted"}],"keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"1","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"No published workflow/runtime count found.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"signals","value":1},{"display":"100k free","key":"m0","label":"","primary":true},{"display":"$10/1M","key":"m1","label":"","primary":false},{"display":"SOC2","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π’ Commercial OK","π’ Open/self-hosted","π Usage-metered"],"valueModel":{"bucket":"freemium","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.3,"unit":"score","value":4.3,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"$/mo","value":0.001},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":7.2,"unit":"score","value":7.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8.3,"unit":"score","value":8.3}],"required_axis_count":3,"score":4.3,"score_formula":"weighted_components_v1","value":0.001,"value_kind":"usd_month","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":10,"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/crontap","slug":"crontap","category":"schedulers","access":"conditional","accessBucket":"paid","tier":"paid","name":"Crontap","provider":"Crontap","planName":"paid","kind":"Paid plan","description":"3 combined schedules + uptime monitors, 1-minute cadence, unlimited webhook integrations, daily AI integrations, email alerts; entry monthly Pro is $2.99/mo. Ultra tiers add API ac","logo":"/logos/crontap.png","url":"https://crontap.com/pricing","freeLimit":"Paid β $2.00/mo (Pro 3, billed annually $23.99/yr). 3 combined schedules + uptime monitors, 1-minute cadence, unlimited webhook integrations, daily AI integrations, email alerts; entry monthly Pro is $2.99/mo. Ultra tiers add API access from $11.99/mo (25 schedules).","bestFor":"~1.5 schedules per $1/mo (annual); minute-level cadence at the lowest paid entry in the category","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":2,"valueText":"2.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"paid","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"paid","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"3","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"alerts, api, webhook","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":3},{"display":"$2/mo","key":"m0","label":"","primary":true},{"display":"3 sched","key":"m1","label":"","primary":false},{"display":"1-min","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK","π’ Best value","π Annual billing"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":2,"pricingModel":"paid"},"subtop":"renewable"}},{"id":"schedulers/paid-easycron","slug":"paid-easycron","category":"schedulers","access":"conditional","accessBucket":"paid","tier":"paid","name":"EasyCron","provider":"EasyCron","planName":"paid","kind":"Paid plan","description":"8,000 cron executions/day (EPDs), 1-minute interval, 12-hour timeout, 200 logs, email + webhook notifications; Individual-3 is 60,000 EPDs for $120/yr.","logo":"/logos/easycron.png","url":"https://www.easycron.com/pricing","freeLimit":"Paid β $24/yr ($2/mo, Individual-1). 8,000 cron executions/day (EPDs), 1-minute interval, 12-hour timeout, 200 logs, email + webhook notifications; Individual-3 is 60,000 EPDs for $120/yr.","bestFor":"~4,000 daily executions per $1/mo at the Individual-1 tier (8,000 EPD / $2) β cheap for high-frequency single jobs","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":24,"valueText":"24.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"paid","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"paid","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"4","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron, logs, timeout, webhook","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":4},{"display":"$2/mo","key":"m0","label":"","primary":true},{"display":"8k runs/day","key":"m1","label":"","primary":false},{"display":"1-min","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK","π Annual billing"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":24,"pricingModel":"paid"},"subtop":"renewable"}},{"id":"schedulers/restate-cloud","slug":"restate-cloud","category":"schedulers","access":"conditional","accessBucket":"free","tier":"paid","name":"Restate Cloud","provider":"Restate Cloud","planName":"paid","kind":"Paid plan","description":"Tiered from a 50k-actions free tier up to a 50M-actions tier; additional actions $25/million, included storage 1-50GB, throughput 10-500 actions/sec, retention 1-30 days. State acc","logo":"/logos/restate-cloud.png","url":"https://restate.dev/cloud","freeLimit":"Paid β $25 per million actions (pay-as-you-go above included). Tiered from a 50k-actions free tier up to a 50M-actions tier; additional actions $25/million, included storage 1-50GB, throughput 10-500 actions/sec, retention 1-30 days. State access is free; ctx.run/sleep/awakeable ","bestFor":"40,000 durable actions per $1 ($25/million) for durable execution + scheduling","caveats":"","sourceUrl":"https://restate.dev/","offerFacts":[{"key":"offered_price_usd","valueNumber":25,"valueText":"25.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"tags":["paid","value","schedulers"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"eligibility":["anyone"],"limitations":[{"detail":"Restate Cloud starts with a free tier of ~50,000 actions per month; additional actions are $25 per million above the included amount.","label":"50k actions/mo free tier","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"actions/mo","value":50000},{"detail":"Larger action volumes, retention and SLAs require higher paid tiers.","label":"Higher tiers add capacity/SLA","renewable":false,"sentiment":"con","severity":"low","type":"feature_restricted"}],"keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"2","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"durable, state","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":2},{"display":"50k free","key":"m0","label":"","primary":true},{"display":"$25/M","key":"m1","label":"","primary":false},{"display":"50M tier","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π’ Commercial OK","π Usage-metered"],"valueModel":{"bucket":"freemium","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.3,"unit":"score","value":4.3,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"$/mo","value":0.001},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":7.2,"unit":"score","value":7.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8.3,"unit":"score","value":8.3}],"required_axis_count":3,"score":4.3,"score_formula":"weighted_components_v1","value":0.001,"value_kind":"usd_month","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":25,"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/aws-step-functions-standard","slug":"aws-step-functions-standard","category":"schedulers","access":"conditional","accessBucket":"paid","tier":"paid","name":"AWS Step Functions","provider":"AWS Step Functions","planName":"paid","kind":"Paid plan","description":"Visual workflow orchestration billed by state transition; 4,000 free state transitions/month (indefinite), then $25 per million; Express workflows priced by request ($1/M) + durati","logo":"/logos/aws-step-functions-standard.png","url":"https://aws.amazon.com/step-functions/pricing/","freeLimit":"Paid β $0.000025 per state transition ($25/million, after 4,000 free/mo). Visual workflow orchestration billed by state transition; 4,000 free state transitions/month (indefinite), then $25 per million; Express workflows priced by request ($1/M) + duration.","bestFor":"40,000 state transitions per $1 ($25/million); plus 4,000 free monthly","caveats":"","offerFacts":[{"key":"pricingModel","valueText":"paid","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"paid","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"3","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"state, workflow, workflows","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":3},{"display":"4k free/mo","key":"m0","label":"","primary":true},{"display":"$25/M","key":"m1","label":"","primary":false},{"display":"$0.000025","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"pricingModel":"paid"},"subtop":"renewable"}},{"id":"schedulers/azure-logic-apps-consumption","slug":"azure-logic-apps-consumption","category":"schedulers","access":"conditional","accessBucket":"paid","tier":"paid","name":"Azure Logic Apps","provider":"Azure Logic Apps","planName":"paid","kind":"Paid plan","description":"Consumption (multi-tenant) workflow automation with recurrence/cron triggers; first 4,000 built-in actions free/mo, then $0.000025/action ($25/M); Standard connectors $0.000125/cal","logo":"/logos/azure-logic-apps-consumption.png","url":"https://azure.microsoft.com/en-us/pricing/details/logic-apps/","freeLimit":"Paid β $0.000025 per action execution (after 4,000 free/mo). Consumption (multi-tenant) workflow automation with recurrence/cron triggers; first 4,000 built-in actions free/mo, then $0.000025/action ($25/M); Standard connectors $0.000125/call; 1,400+ connectors.","bestFor":"40,000 built-in action executions per $1 ($25/million)","caveats":"","offerFacts":[{"key":"pricingModel","valueText":"paid","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"paid","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"2","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron, workflow","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":2},{"display":"4k free/mo","key":"m0","label":"","primary":true},{"display":"$25/M","key":"m1","label":"","primary":false},{"display":"$0.000025","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"pricingModel":"paid"},"subtop":"renewable"}},{"id":"schedulers/paid-fastcron","slug":"paid-fastcron","category":"schedulers","access":"conditional","accessBucket":"paid","tier":"paid","name":"FastCron","provider":"FastCron","planName":"paid","kind":"Paid plan","description":"15 cron jobs, 1-minute interval, 100 execution logs; Pro $20/mo gives 80 jobs + 30-second interval + 1000 logs. 30-day money-back guarantee.","logo":"/logos/fastcron.png","url":"https://www.fastcron.com/pricing","freeLimit":"Paid β $5/mo (Starter) or $50/yr. 15 cron jobs, 1-minute interval, 100 execution logs; Pro $20/mo gives 80 jobs + 30-second interval + 1000 logs. 30-day money-back guarantee.","bestFor":"~3 cron jobs per $1/mo (Starter); ~4 jobs per $1/mo on Pro","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":5,"valueText":"5.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"paid","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"paid","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"2","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron, logs","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":2},{"display":"$5/mo","key":"m0","label":"","primary":true},{"display":"15 jobs","key":"m1","label":"","primary":false},{"display":"1-min","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK","π’ Flat rate"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":5,"pricingModel":"paid"},"subtop":"renewable"}},{"id":"schedulers/cronjobly","slug":"cronjobly","category":"schedulers","access":"conditional","accessBucket":"paid","tier":"paid","name":"Cronjobly","provider":"Cronjobly","planName":"paid","kind":"Paid plan","description":"Cron job scheduling with multi-language support, configurable memory options, secure execution environment that actually runs code (not just HTTP pings); entry tier from β¬2/mo.","logo":"/logos/cronjobly.png","url":"https://cronjobly.com/pricing","freeLimit":"Paid β β¬2/mo (~$2.15). Cron job scheduling with multi-language support, configurable memory options, secure execution environment that actually runs code (not just HTTP pings); entry tier from β¬2/mo.","bestFor":"Sub-$2.50/mo entry into managed cron with real code execution","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":2.15,"valueText":"2.15","origin":"value_model_raw"},{"key":"pricingModel","valueText":"paid","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"paid","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"2","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron, http","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":2},{"display":"$2.15/mo","key":"m0","label":"","primary":true},{"display":"runs code","key":"m1","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":2.15,"pricingModel":"paid"},"subtop":"renewable"}},{"id":"schedulers/trigger-dev","slug":"trigger-dev","category":"schedulers","access":"conditional","accessBucket":"paid","tier":"paid","name":"Trigger.dev","provider":"Trigger.dev","planName":"paid","kind":"Paid plan","description":"50 concurrent runs, unlimited tasks, 5 team members, 7-day log retention; usage billed at $0.000025/run + compute ($0.0000338/sec small-1x). Pro $50/mo = 200+ concurrency. No timeo","logo":"/logos/trigger-dev.png","url":"https://trigger.dev/pricing","freeLimit":"Paid β $10/mo (Hobby). 50 concurrent runs, unlimited tasks, 5 team members, 7-day log retention; usage billed at $0.000025/run + compute ($0.0000338/sec small-1x). Pro $50/mo = 200+ concurrency. No timeouts; no compute charge while waiting.","bestFor":"$0.25 per 10,000 run invocations + per-second compute; a 10s task at 100 runs/day β $1.09/mo","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":10,"valueText":"10.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"paid","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"paid","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"1","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"concurrency","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":1},{"display":"$10/mo","key":"m0","label":"","primary":true},{"display":"50 concur","key":"m1","label":"","primary":false},{"display":"$0.000025/run","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK","π’ Open/self-hosted","π Usage-metered"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":10,"pricingModel":"paid"},"subtop":"renewable"}},{"id":"schedulers/val-town","slug":"val-town","category":"schedulers","access":"conditional","accessBucket":"free","name":"Val Town","provider":"Val Town","planName":"freemium","kind":"Paid plan","description":"1-minute cron intervals, 10-min wall-clock per run, 1,000,000 runs/day, 10 custom domains, 2,000 private vals, $10 monthly Townie AI credit. Free tier allows 100k runs/day at 15-mi","logo":"/logos/val-town.png","url":"https://www.val.town/pricing","freeLimit":"Free tier allows 100k runs/day at 15-min intervals; Pro then $21/mo β 1-minute cron intervals, 10-min wall-clock per run, 1,000,000 runs/day, 10 custom domains, 2,000 private vals, $10 monthly Townie AI credit.","bestFor":"~1,000,000 runs/day per ~$21/mo (~$0.0007 per 1,000 daily runs) plus minute-level cron","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":21,"valueText":"21.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"freemium","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"1","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":1},{"display":"$21/mo","key":"m0","label":"","primary":true},{"display":"1M runs/day","key":"m1","label":"","primary":false},{"display":"1-min cron","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK","π’ Flat rate"],"valueModel":{"bucket":"freemium","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.7,"unit":"score","value":4.7,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"$/mo","value":0.001},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8.8,"unit":"score","value":8.8}],"required_axis_count":3,"score":4.7,"score_formula":"weighted_components_v1","value":0.001,"value_kind":"usd_month","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":21,"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/cronhub","slug":"cronhub","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"Cronhub","provider":"Cronhub","planName":"paid","kind":"Paid plan","description":"Cron job scheduling + heartbeat monitoring with free trial; paid plans start at $5/mo (founded 2018).","logo":"/logos/cronhub.png","url":"https://cronhub.io","freeLimit":"Paid β $5/mo (entry). Cron job scheduling + heartbeat monitoring with free trial; paid plans start at $5/mo (founded 2018).","bestFor":"Low flat $5/mo entry for managed cron scheduling + monitoring","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":5,"valueText":"5.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"trial","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"trial","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"1","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":1},{"display":"$5/mo","key":"m0","label":"","primary":true},{"display":"cron+HB","key":"m1","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK","π΄ Trial expires"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.4,"unit":"score","value":4.4,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":7.2,"unit":"score","value":7.2}],"required_axis_count":3,"score":4.4,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":5,"pricingModel":"trial"},"subtop":"renewable"}},{"id":"schedulers/posthook","slug":"posthook","category":"schedulers","access":"conditional","accessBucket":"paid","tier":"paid","name":"Posthook","provider":"Posthook","planName":"paid","kind":"Paid plan","description":"20,000 scheduled hooks/month, 5 projects, 30-day log retention, 5-min alerts, email+Slack alerts, at-least-once delivery with retries (only scheduling counts); Growth $99/mo = 100,","logo":"/logos/posthook.png","url":"https://posthook.io/pricing","freeLimit":"Paid β $39/mo (Launch). 20,000 scheduled hooks/month, 5 projects, 30-day log retention, 5-min alerts, email+Slack alerts, at-least-once delivery with retries (only scheduling counts); Growth $99/mo = 100,000 hooks. Hard 150% cap.","bestFor":"~513 scheduled hooks per $1/mo (20,000 / $39); Growth $99/mo β 1,010 per $1","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":39,"valueText":"39.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"paid","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"paid","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"2","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"alerts, retries","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":2},{"display":"$39/mo","key":"m0","label":"","primary":true},{"display":"20k hooks/mo","key":"m1","label":"","primary":false},{"display":"5 projects","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":39,"pricingModel":"paid"},"subtop":"renewable"}},{"id":"schedulers/cron-to-go","slug":"cron-to-go","category":"schedulers","access":"conditional","accessBucket":"paid","tier":"paid","name":"Cron To Go","provider":"Cron To Go","planName":"paid","kind":"Paid plan","description":"Scheduler-as-a-service running one-off dynos via cron expressions/intervals up to once per minute; Bronze ~$0.013/hr capped at $9/mo, Silver $19/mo, Gold $49/mo, Titanium $193 cap.","logo":"/logos/cron-to-go.png","url":"https://elements.heroku.com/addons/crontogo","freeLimit":"Paid β $9/mo (Bronze, max). Scheduler-as-a-service running one-off dynos via cron expressions/intervals up to once per minute; Bronze ~$0.013/hr capped at $9/mo, Silver $19/mo, Gold $49/mo, Titanium $193 cap.","bestFor":"Hourly metered with monthly cap; ~$9/mo runs minute-level scheduled jobs on Heroku dynos","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":9,"valueText":"9.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"paid","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"paid","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"1","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":1},{"display":"$9/mo cap","key":"m0","label":"","primary":true},{"display":"$0.013/hr","key":"m1","label":"","primary":false},{"display":"1-min cron","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK","π Usage-metered"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":9,"pricingModel":"paid"},"subtop":"renewable"}},{"id":"schedulers/healthchecks-io","slug":"healthchecks-io","category":"schedulers","access":"conditional","accessBucket":"free","tier":"paid","name":"Healthchecks.io","provider":"Healthchecks.io","planName":"paid","kind":"Paid plan","description":"100 checks (crons) at the Business plan ($192/yr, $16/mo) with longer log retention; 20 free checks; free Business plan for OSS/nonprofits. Alerts when jobs don't run on time.","logo":"/logos/healthchecks-io.png","url":"https://healthchecks.io/pricing/","freeLimit":"Paid β $16/mo (Business, $192/yr). 100 checks (crons) at the Business plan ($192/yr, $16/mo) with longer log retention; 20 free checks; free Business plan for OSS/nonprofits. Alerts when jobs don't run on time.","bestFor":"~6 cron checks per $1/mo (100 checks at ~$16-20/mo); free Business plan for OSS/nonprofits","caveats":"","sourceUrl":"https://healthchecks.io/pricing/","offerFacts":[{"key":"offered_price_usd","valueNumber":16,"valueText":"16.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"none","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"tags":["paid","value","schedulers"],"pricingModel":"freemium","renewal":"none","requiresCard":false,"eligibility":["anyone"],"limitations":[{"detail":"The free Hobbyist plan allows 20 checks (cron monitors) with 100 log entries each; the 100-check Business plan is $16/mo.","label":"20 checks on free Hobbyist","renewable":false,"sentiment":"con","severity":"medium","type":"feature_restricted","unit":"checks","value":20},{"detail":"The free plan is single-user; team members require a paid plan.","label":"1 team member on free","renewable":false,"sentiment":"neutral","severity":"low","type":"single_resource_cap","unit":"member","value":1}],"keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"2","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"alerts, cron","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":2},{"display":"$16/mo","key":"m0","label":"","primary":true},{"display":"100 checks","key":"m1","label":"","primary":false},{"display":"20 free","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π’ Commercial OK","π’ Open/self-hosted"],"valueModel":{"bucket":"freemium","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.2,"unit":"score","value":4.2,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"$/mo","value":0.001},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":6.7,"unit":"score","value":6.7},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8.3,"unit":"score","value":8.3}],"required_axis_count":3,"score":4.2,"score_formula":"weighted_components_v1","value":0.001,"value_kind":"usd_month","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":16,"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/dead-mans-snitch","slug":"dead-mans-snitch","category":"schedulers","access":"conditional","accessBucket":"paid","tier":"paid","name":"Dead Man's Snitch","provider":"Dead Man's Snitch","planName":"paid","kind":"Paid plan","description":"3 Snitches (cron/heartbeat monitors), basic intervals, API, Field Agent, unlimited team members; Private Eye $19/mo = 100 Snitches + enhanced intervals + integrations.","logo":"/logos/dead-mans-snitch.png","url":"https://deadmanssnitch.com/plans","freeLimit":"Paid β $5/mo (Little Birdy). 3 Snitches (cron/heartbeat monitors), basic intervals, API, Field Agent, unlimited team members; Private Eye $19/mo = 100 Snitches + enhanced intervals + integrations.","bestFor":"~5 monitors per $1/mo at the Private Eye tier (100 monitors / $19)","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":5,"valueText":"5.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"paid","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"paid","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"2","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"api, cron","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":2},{"display":"$5/mo","key":"m0","label":"","primary":true},{"display":"3 monitors","key":"m1","label":"","primary":false},{"display":"$19=100","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK","π΄ Discontinued"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":5,"pricingModel":"paid"},"subtop":"renewable"}},{"id":"schedulers/paid-inngest","slug":"paid-inngest","category":"schedulers","access":"conditional","accessBucket":"free","tier":"paid","name":"Inngest","provider":"Inngest","planName":"paid","kind":"Paid plan","description":"1M+ executions/mo included (then $50 per 1M), 100+ concurrent executions, 5M+ events, 15 users, 7-day trace retention; durable functions with scheduling, retries, flow control. Hob","logo":"/logos/inngest.png","url":"https://www.inngest.com/pricing","freeLimit":"Paid β $75/mo (Pro). 1M+ executions/mo included (then $50 per 1M), 100+ concurrent executions, 5M+ events, 15 users, 7-day trace retention; durable functions with scheduling, retries, flow control. Hobby (free) covers 50k/mo.","bestFor":"~13,300 executions per $1/mo at base ($1M / $75); marginal executions $0.00005 each","caveats":"","sourceUrl":"https://www.inngest.com/pricing","offerFacts":[{"key":"offered_price_usd","valueNumber":75,"valueText":"75.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"False","origin":"frontmatter"}],"tags":["paid","value","schedulers"],"pricingModel":"freemium","renewal":"monthly","requiresCard":false,"eligibility":["anyone"],"limitations":[{"detail":"The free tier includes a monthly execution allowance with limited concurrency; Pro ($75/mo) adds 1M+ executions and 100+ concurrency.","label":"Free tier executions included","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable"},{"detail":"Concurrent executions and run-history retention are limited on the free tier.","label":"Concurrency & history capped on free","renewable":false,"sentiment":"con","severity":"medium","type":"feature_restricted"}],"keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"2","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"durable, retries","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":2},{"display":"$75/mo","key":"m0","label":"","primary":true},{"display":"1M exec/mo","key":"m1","label":"","primary":false},{"display":"$50/1M extra","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π’ Commercial OK","π’ Open/self-hosted"],"valueModel":{"bucket":"freemium","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.3,"unit":"score","value":4.3,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.001,"b":7,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"$/mo","value":0.001},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":7.2,"unit":"score","value":7.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8.3,"unit":"score","value":8.3}],"required_axis_count":3,"score":4.3,"score_formula":"weighted_components_v1","value":0.001,"value_kind":"usd_month","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":75,"pricingModel":"freemium"},"subtop":"renewable"}},{"id":"schedulers/cronitor","slug":"cronitor","category":"schedulers","access":"conditional","accessBucket":"paid","tier":"paid","name":"Cronitor","provider":"Cronitor","planName":"paid","kind":"Paid plan","description":"Per-monitor pricing: cron + heartbeat + website/API monitoring, 30-second check frequency, 12-month retention, unlimited API requests; 1 monitor + 1 user = $7/mo. SMS, PagerDuty, O","logo":"/logos/cronitor.png","url":"https://cronitor.io/pricing","freeLimit":"Paid β $2 per monitor/mo + $5 per user/mo (Business). Per-monitor pricing: cron + heartbeat + website/API monitoring, 30-second check frequency, 12-month retention, unlimited API requests; 1 monitor + 1 user = $7/mo. SMS, PagerDuty, OpsGenie.","bestFor":"Granular pay-per-monitor; ~$2 buys one fully-featured cron monitor/mo","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":2,"valueText":"2.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"paid","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"paid","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"2","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"api, cron","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":2},{"display":"$2/mon","key":"m0","label":"","primary":true},{"display":"+$5/user","key":"m1","label":"","primary":false},{"display":"30s check","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":2,"pricingModel":"paid"},"subtop":"renewable"}},{"id":"schedulers/dbos","slug":"dbos","category":"schedulers","access":"conditional","accessBucket":"paid","tier":"paid","name":"DBOS","provider":"DBOS","planName":"paid","kind":"Paid plan","description":"3 user seats, manage up to 5 DBOS apps, 1 million checkpoints (workflows/steps/transactions)/mo, real-time workflow console, versioning/forking, bring-your-own-database, unlimited ","logo":"/logos/dbos.png","url":"https://www.dbos.dev/dbos-pricing","freeLimit":"Paid β $99/mo (DBOS Pro). 3 user seats, manage up to 5 DBOS apps, 1 million checkpoints (workflows/steps/transactions)/mo, real-time workflow console, versioning/forking, bring-your-own-database, unlimited throughput; extra checkpoints $50/million.","bestFor":"~10,100 checkpoints per $1/mo (1M / $99); extra checkpoints $50/million","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":99,"valueText":"99.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"paid","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"paid","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"2","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"workflow, workflows","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":2},{"display":"$99/mo","key":"m0","label":"","primary":true},{"display":"1M chkpt/mo","key":"m1","label":"","primary":false},{"display":"5 apps","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK","π’ Open/self-hosted"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":99,"pricingModel":"paid"},"subtop":"renewable"}},{"id":"schedulers/n8n-cloud","slug":"n8n-cloud","category":"schedulers","access":"conditional","accessBucket":"paid","tier":"paid","name":"n8n Cloud","provider":"n8n Cloud","planName":"paid","kind":"Paid plan","description":"2,500 workflow executions/mo with unlimited steps, 1 shared project, 5 concurrent executions, unlimited users; Pro β¬50/mo = 10,000 executions + 20 concurrent. Each execution = one ","logo":"/logos/n8n-cloud.png","url":"https://n8n.io/pricing/","freeLimit":"Paid β β¬20/mo (~$22, Starter, billed annually). 2,500 workflow executions/mo with unlimited steps, 1 shared project, 5 concurrent executions, unlimited users; Pro β¬50/mo = 10,000 executions + 20 concurrent. Each execution = one whole workflow run. Self-hostable CE is free.","bestFor":"~125 full-workflow executions per $1/mo (2,500 / ~$20); billed per whole workflow, not per step","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":22,"valueText":"22.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"paid","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"paid","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"1","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"workflow","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":1},{"display":"$22/mo","key":"m0","label":"","primary":true},{"display":"2.5k exec/mo","key":"m1","label":"","primary":false},{"display":"5 concurrent","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK","π’ Open/self-hosted","π Annual billing"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":22,"pricingModel":"paid"},"subtop":"renewable"}},{"id":"schedulers/temporal-cloud","slug":"temporal-cloud","category":"schedulers","access":"conditional","accessBucket":"conditional","tier":"limited","name":"Temporal Cloud","provider":"Temporal Cloud","planName":"paid","kind":"Paid plan","description":"1M Actions, 1GB active storage, 40GB retained storage, 99.9% SLA, multi-cloud/region, 1-business-day P0 support; additional actions from $50/million (volume down to $25/million). $","logo":"/logos/temporal-cloud.png","url":"https://temporal.io/pricing","freeLimit":"Paid β $100/mo (Essentials). 1M Actions, 1GB active storage, 40GB retained storage, 99.9% SLA, multi-cloud/region, 1-business-day P0 support; additional actions from $50/million (volume down to $25/million). $1,000 free credits; $6,000 for startups.","bestFor":"1,000,000 Actions per $100/mo base; marginal actions $50/M ($0.00005) scaling to $25/M","caveats":"","sourceUrl":"https://temporal.io/cloud","offerFacts":[{"key":"credit_amount_usd","valueNumber":1000,"valueText":"1000.0","origin":"value_model_raw"},{"key":"offered_price_usd","valueNumber":100,"valueText":"100.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"freemium","origin":"value_model_raw"},{"key":"renewal","valueText":"monthly","origin":"frontmatter"},{"key":"requiresCard","valueText":"True","origin":"frontmatter"}],"tags":["paid","value","schedulers"],"pricingModel":"freemium","renewal":"monthly","requiresCard":true,"eligibility":["anyone"],"limitations":[{"detail":"The Essentials free allowance includes 1M Actions, 1 GB active storage and 40 GB retained storage per month before the $100/mo plan kicks in.","label":"1M Actions + 1 GB storage free","renewable":true,"sentiment":"pro","severity":"low","type":"quota_renewable","unit":"actions/mo","value":1000000},{"detail":"A payment method is required to create a Temporal Cloud namespace.","label":"Card required to start","renewable":false,"sentiment":"con","severity":"medium","type":"requires_card"}],"keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"1","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"No published workflow/runtime count found.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"signals","value":1},{"display":"$100/mo","key":"m0","label":"","primary":true},{"display":"1M actions","key":"m1","label":"","primary":false},{"display":"40GB stored","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π’ Commercial OK"],"valueModel":{"bucket":"freemium","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":7.4,"unit":"score","value":7.4,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":1,"b":1,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"provider_credit","score":7,"unit":"$ one-time","value":1000},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":7.5,"unit":"score","value":7.5}],"required_axis_count":3,"score":7.4,"score_formula":"weighted_components_v1","value":1000,"value_kind":"one_time_usd","value_provenance":"provider_credit"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"credit_amount_usd":1000,"offered_price_usd":100,"pricingModel":"freemium"},"subtop":"credits"}},{"id":"schedulers/paid-windmill","slug":"paid-windmill","category":"schedulers","access":"conditional","accessBucket":"free","tier":"paid","name":"Windmill","provider":"Windmill","planName":"paid","kind":"Paid plan","description":"Unlimited executions, audit logs, S3 dependency cache, SAML/SSO, commercial licence, 24/7 priority support with 3h response; seats $20/dev/mo + compute units ($50/worker/mo for 2GB","logo":"/logos/paid-windmill.png","url":"https://www.windmill.dev/pricing","freeLimit":"Paid β $120/mo (Enterprise, from). Unlimited executions, audit logs, S3 dependency cache, SAML/SSO, commercial licence, 24/7 priority support with 3h response; seats $20/dev/mo + compute units ($50/worker/mo for 2GB). Free self-hosted tier has unlimited executions.","bestFor":"Unlimited executions for a flat-ish base; compute priced by worker units ($50/worker/mo for 2GB)","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":120,"valueText":"120.0","origin":"value_model_raw"},{"key":"pricingModel","valueText":"open_source_selfhost","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"open_source_selfhost","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"1","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"logs","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":1},{"display":"$120/mo","key":"m0","label":"","primary":true},{"display":"unltd exec","key":"m1","label":"","primary":false},{"display":"SAML/SSO","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK","π’ Unlimited","π’ Open/self-hosted"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":120,"pricingModel":"open_source_selfhost"},"subtop":"renewable"}},{"id":"schedulers/zapier","slug":"zapier","category":"schedulers","access":"conditional","accessBucket":"paid","tier":"paid","name":"Zapier","provider":"Zapier","planName":"paid","kind":"Paid plan","description":"750 tasks/mo (Professional entry), unlimited Zaps, multi-step Zaps, premium apps, Schedule trigger for cron-like runs; $29.99/mo on monthly billing. Pay-per-task overages above pla","logo":"/logos/zapier.png","url":"https://zapier.com/pricing","freeLimit":"Paid β $19.99/mo (Professional, billed annually). 750 tasks/mo (Professional entry), unlimited Zaps, multi-step Zaps, premium apps, Schedule trigger for cron-like runs; $29.99/mo on monthly billing. Pay-per-task overages above plan. 7,000+ app integrations.","bestFor":"~37 tasks per $1/mo at the entry annual price (750 / $19.99) β premium pricing, broad ecosystem","caveats":"","offerFacts":[{"key":"offered_price_usd","valueNumber":19.99,"valueText":"19.99","origin":"value_model_raw"},{"key":"pricingModel","valueText":"paid","origin":"value_model_raw"}],"tags":["paid","value","schedulers"],"pricingModel":"paid","keyMetrics":[{"display":"1/mo","key":"scheduler_run_quota","label":"Run quota","note":"Uses stated run/message/execution quota when present; otherwise a conservative floor.","primary":true,"provenance":"policy_default","source":"policy_default_unpublished","unit":"runs/month","value":1},{"display":"1.0/hr","key":"scheduler_granularity_reliability","label":"Granularity/reliability","note":"Derived from minimum interval with conservative reliability adjustment.","primary":false,"provenance":"policy_default","source":"policy_default_unpublished","unit":"reliable slots/hour","value":1},{"display":"1","key":"scheduler_workflow_runtime","label":"Workflow/runtime","note":"cron","primary":false,"provenance":"derived","source":"derived_from_entry_text","unit":"signals","value":1},{"display":"$19.99/mo","key":"m0","label":"","primary":true},{"display":"750 task/mo","key":"m1","label":"","primary":false},{"display":"unltd Zaps","key":"m2","label":"","primary":false}],"verified":true,"timestamp":"2026-06-18T00:00:00Z","verifiedAt":"2026-06-18","badges":["π΄ Paid only","π’ Commercial OK","π’ Embeddings/RAG","π Annual billing"],"valueModel":{"bucket":"paid","calc":{"rating_axis_count":3,"ratings":[{"a":1,"b":0,"formula":"weighted_components_v1","key":"main","label":"Overall","provenance":"weighted_capacity_fit_access","score":4.6,"unit":"score","value":4.6,"weights":{"access":0.2,"capacity":0.5,"fit":0.3}},{"a":2,"anchor":0.01,"b":5,"formula":"fixed_log_v1","key":"capacity","label":"Run value","provenance":"policy_default_missing_provider_capacity","score":1,"unit":"Γ","value":0.01},{"a":1,"b":0,"formula":"policy_score_v1","key":"fit","label":"Reliability","provenance":"derived_from_limitations_badges_and_access_terms","score":8.2,"unit":"score","value":8.2},{"a":1,"b":0,"formula":"policy_score_v1","key":"access","label":"Workflow fit","provenance":"derived_from_limitations_badges_and_access_terms","score":8,"unit":"score","value":8}],"required_axis_count":3,"score":4.6,"score_formula":"weighted_components_v1","value":0.01,"value_kind":"ratio","value_provenance":"policy_default_missing_provider_capacity"},"commercial":{"source":"inferred","value":true},"generated_by":"scripts/score-infra-value.py","quantities":[],"raw":{"offered_price_usd":19.99,"pricingModel":"paid"},"subtop":"renewable"}}],"categories":[{"id":"llm-providers","label":"LLM","description":"Free or BYOK model APIs"},{"id":"embeddings","label":"Embeddings","description":"Embedding, reranker, and vector search services"},{"id":"databases","label":"DB","description":"Structured app state"},{"id":"app-platforms","label":"Apps","description":"Deploy full apps & services"},{"id":"agent-deployment","label":"Agents","description":"Deploy & run AI agents"},{"id":"serverless-functions","label":"Functions","description":"Run functions, edge & jobs"},{"id":"schedulers","label":"Schedulers","description":"Cron jobs & recurring tasks"},{"id":"storage","label":"Storage","description":"Files, datasets, bundles"},{"id":"workspaces","label":"Workspace","description":"Notion-like user surfaces"},{"id":"domains","label":"Domains","description":"Free hostnames and DNS"}],"selectedCategory":"schedulers","showSidebar":false,"categoryCounts":{"agent-deployment":88,"app-platforms":55,"databases":61,"domains":64,"embeddings":11,"llm-providers":106,"schedulers":50,"serverless-functions":58,"storage":56,"workspaces":70},"softwareCategoryCounts":{"agent-deployment":40,"agent-frameworks":39,"agents":41,"browser-computer-use":28,"chat-ui":27,"data-extraction":31,"fine-tuning":36,"guardrails-security":27,"inference-serving":33,"llm-gateways":37,"mcp-tools":30,"observability-evals":36,"orchestration":20,"rag-vector-memory":39,"sandboxes":32,"voice-realtime":41,"web-crawl-search":40},"apiCategoryCounts":{"ai-ml":34,"business":31,"communication":37,"data-open":24,"dev-tools":31,"entertainment":37,"finance-crypto":35,"food-travel":26,"geo-maps":36,"gov-science":27,"media-images":31,"news-media":32,"search-web":35,"social-comm":26,"sports":34,"weather":30},"agentToolCategoryCounts":{"mcp-cloud":26,"mcp-data":32,"mcp-dev":33,"mcp-other":10,"mcp-productivity":33,"mcp-search":34,"plugins":19,"prompt-libraries":24,"registries":16,"resources":25,"skills":26,"toolkits":22},"totalOfferCount":2002,"documentationSections":[{"id":"methodology","name":"Methodology","items":[{"id":"generosity-measurement","title":"How ratings are computed","href":"/documentation/generosity-measurement"},{"id":"free-tier-conditions","title":"Free-Tier Conditions & Limitations","href":"/documentation/free-tier-conditions"},{"id":"badges-and-labels","title":"Badges, labels & markers","href":"/documentation/badges-and-labels"}]}],"recipeSections":[{"id":"personal-assistant","name":"Personal Assistant","items":[{"id":"archive/notion-upstash-telegram-morning-agent","title":"Morning Notion Task Digest to Telegram","href":"/recipes/archive/notion-upstash-telegram-morning-agent"},{"id":"archive/theme0-langgraph-gmail-email-assistant","title":"Human-in-the-Loop Gmail Email Assistant","href":"/recipes/archive/theme0-langgraph-gmail-email-assistant"},{"id":"archive/theme0-google-calendar-mcp-agent","title":"Natural-Language Google Calendar Agent (MCP)","href":"/recipes/archive/theme0-google-calendar-mcp-agent"},{"id":"archive/theme0-second-brain-notes-rag","title":"Second-Brain Notes Assistant (RAG over your vault)","href":"/recipes/archive/theme0-second-brain-notes-rag"},{"id":"archive/theme0-crewai-daily-briefing-crew","title":"Multi-Agent Daily Briefing Crew","href":"/recipes/archive/theme0-crewai-daily-briefing-crew"}]},{"id":"scheduled-automation","name":"Scheduled Automation","items":[{"id":"archive/theme6-scheduled-log-anomaly-sentinel","title":"Scheduled Log-Anomaly Sentinel with Vector Search","href":"/recipes/archive/theme6-scheduled-log-anomaly-sentinel"},{"id":"archive/theme5-triggerdev-youtube-content-digest","title":"Scheduled YouTube-to-Email Content Digest","href":"/recipes/archive/theme5-triggerdev-youtube-content-digest"},{"id":"archive/theme5-firecrawl-competitor-newsletter","title":"Curated Competitor-News Newsletter from Live Crawls","href":"/recipes/archive/theme5-firecrawl-competitor-newsletter"},{"id":"archive/theme3-trigger-dev-hacker-news-scrape-summary","title":"Scheduled Hacker News Scrape, Summarize, and Email Digest","href":"/recipes/archive/theme3-trigger-dev-hacker-news-scrape-summary"},{"id":"archive/theme3-firecrawl-crawl-docs-upstash-vector-rag","title":"Crawl a Documentation Site into an Upstash Vector RAG Index","href":"/recipes/archive/theme3-firecrawl-crawl-docs-upstash-vector-rag"},{"id":"archive/theme3-langchain-incremental-indexing-pgvector-sync","title":"Incrementally Sync a Source into a pgvector Index Without Re-Embedding","href":"/recipes/archive/theme3-langchain-incremental-indexing-pgvector-sync"},{"id":"archive/theme0-firecrawl-news-digest-email","title":"Daily Web Digest to Your Inbox (Firecrawl)","href":"/recipes/archive/theme0-firecrawl-news-digest-email"},{"id":"archive/theme0-triggerdev-per-user-morning-briefing","title":"Per-User Morning Briefing on Trigger.dev","href":"/recipes/archive/theme0-triggerdev-per-user-morning-briefing"},{"id":"archive/theme1-triggerdev-scheduled-scrape-summary-digest","title":"Scheduled Scrape-and-Summarize Digest with Trigger.dev","href":"/recipes/archive/theme1-triggerdev-scheduled-scrape-summary-digest"}]},{"id":"event-automation","name":"Event Automation","items":[{"id":"archive/theme6-autonomous-incident-triage-agent","title":"Autonomous Incident Triage Agent for On-Call SREs","href":"/recipes/archive/theme6-autonomous-incident-triage-agent"},{"id":"archive/theme6-terraform-pr-review-agent-mcp","title":"Terraform PR Agent with the HashiCorp MCP Server","href":"/recipes/archive/theme6-terraform-pr-review-agent-mcp"},{"id":"archive/theme2-langgraph-pr-review-agent","title":"Automated PR Review Agent with LangGraph","href":"/recipes/archive/theme2-langgraph-pr-review-agent"},{"id":"archive/theme5-langgraph-social-media-post-agent","title":"URL to Twitter & LinkedIn Posts with Human Review","href":"/recipes/archive/theme5-langgraph-social-media-post-agent"},{"id":"archive/theme4-crewai-multi-agent-ticket-triage","title":"Multi-Agent Support Ticket Triage with CrewAI","href":"/recipes/archive/theme4-crewai-multi-agent-ticket-triage"},{"id":"archive/theme4-zendesk-webhook-triage-agent","title":"Zendesk Ticket Triage Agent: Classify, Search the KB, Route to Slack","href":"/recipes/archive/theme4-zendesk-webhook-triage-agent"},{"id":"archive/theme3-langchain-invoice-email-to-postgres","title":"Extract Invoice and Receipt Data from Email into Postgres","href":"/recipes/archive/theme3-langchain-invoice-email-to-postgres"},{"id":"archive/theme2-trigger-dev-github-issue-triage","title":"GitHub Issue Triage and PR Review on Trigger.dev","href":"/recipes/archive/theme2-trigger-dev-github-issue-triage"},{"id":"archive/theme1-firecrawl-monitor-competitor-watch-agent","title":"Competitor Web-Change Watch Agent with Firecrawl Monitor","href":"/recipes/archive/theme1-firecrawl-monitor-competitor-watch-agent"}]},{"id":"worker","name":"Worker","items":[{"id":"cloudflare-free-app-stack","title":"Cloudflare Free App Stack","href":"/recipes/cloudflare-free-app-stack"},{"id":"cloudflare-ai-gateway-free-llm-fallback","title":"Cloudflare AI Gateway Free LLM Fallback Chain","href":"/recipes/cloudflare-ai-gateway-free-llm-fallback"},{"id":"archive/theme6-log-clustering-triage-agent","title":"Log Clustering and Triage Agent over MCP","href":"/recipes/archive/theme6-log-clustering-triage-agent"},{"id":"vercel-agent-ai-gateway-central-hub","title":"Vercel Agent AI Gateway Central Hub","href":"/recipes/vercel-agent-ai-gateway-central-hub"},{"id":"archive/theme7-orchestrator-workers-fact-checker","title":"Orchestrator-Workers News Fact-Checker","href":"/recipes/archive/theme7-orchestrator-workers-fact-checker"},{"id":"archive/theme4-firecrawl-docs-to-knowledge-base-agent","title":"Turn a Documentation Site into a Support Agent with Firecrawl and LangGraph","href":"/recipes/archive/theme4-firecrawl-docs-to-knowledge-base-agent"},{"id":"archive/theme5-triggerdev-youtube-content-digest","title":"Scheduled YouTube-to-Email Content Digest","href":"/recipes/archive/theme5-triggerdev-youtube-content-digest"},{"id":"archive/theme7-crewai-hierarchical-content-crew","title":"CrewAI Hierarchical Content Crew","href":"/recipes/archive/theme7-crewai-hierarchical-content-crew"},{"id":"archive/theme5-firecrawl-competitor-newsletter","title":"Curated Competitor-News Newsletter from Live Crawls","href":"/recipes/archive/theme5-firecrawl-competitor-newsletter"},{"id":"archive/theme7-parallel-subagent-research-swarm","title":"Parallel Subagent Research Swarm","href":"/recipes/archive/theme7-parallel-subagent-research-swarm"},{"id":"archive/theme5-content-repurposing-worker","title":"Repurpose One Blog Post into a Week of Channels","href":"/recipes/archive/theme5-content-repurposing-worker"},{"id":"archive/theme2-cover-agent-test-generation","title":"Coverage-Driven Unit Test Generation with Cover-Agent","href":"/recipes/archive/theme2-cover-agent-test-generation"},{"id":"archive/theme3-trigger-dev-hacker-news-scrape-summary","title":"Scheduled Hacker News Scrape, Summarize, and Email Digest","href":"/recipes/archive/theme3-trigger-dev-hacker-news-scrape-summary"},{"id":"archive/theme3-crewai-multi-agent-lead-scraper","title":"Multi-Agent Lead Scraper that Outputs a Structured Leads Table","href":"/recipes/archive/theme3-crewai-multi-agent-lead-scraper"},{"id":"archive/theme3-langchain-invoice-email-to-postgres","title":"Extract Invoice and Receipt Data from Email into Postgres","href":"/recipes/archive/theme3-langchain-invoice-email-to-postgres"},{"id":"archive/theme0-firecrawl-news-digest-email","title":"Daily Web Digest to Your Inbox (Firecrawl)","href":"/recipes/archive/theme0-firecrawl-news-digest-email"},{"id":"archive/theme1-crewai-competitive-analysis-crew","title":"Competitive Analysis Crew that Outputs a Strategic Report","href":"/recipes/archive/theme1-crewai-competitive-analysis-crew"},{"id":"archive/theme1-triggerdev-scheduled-scrape-summary-digest","title":"Scheduled Scrape-and-Summarize Digest with Trigger.dev","href":"/recipes/archive/theme1-triggerdev-scheduled-scrape-summary-digest"}]},{"id":"workflow","name":"Workflow","items":[{"id":"cloudflare-free-app-stack","title":"Cloudflare Free App Stack","href":"/recipes/cloudflare-free-app-stack"},{"id":"cloudflare-ai-gateway-free-llm-fallback","title":"Cloudflare AI Gateway Free LLM Fallback Chain","href":"/recipes/cloudflare-ai-gateway-free-llm-fallback"},{"id":"vercel-agent-ai-gateway-central-hub","title":"Vercel Agent AI Gateway Central Hub","href":"/recipes/vercel-agent-ai-gateway-central-hub"},{"id":"archive/theme6-natural-language-iac-generator","title":"Natural-Language Infrastructure-as-Code Generator","href":"/recipes/archive/theme6-natural-language-iac-generator"},{"id":"archive/theme6-terraform-pr-review-agent-mcp","title":"Terraform PR Agent with the HashiCorp MCP Server","href":"/recipes/archive/theme6-terraform-pr-review-agent-mcp"},{"id":"archive/theme2-langgraph-pr-review-agent","title":"Automated PR Review Agent with LangGraph","href":"/recipes/archive/theme2-langgraph-pr-review-agent"},{"id":"archive/theme7-orchestrator-workers-fact-checker","title":"Orchestrator-Workers News Fact-Checker","href":"/recipes/archive/theme7-orchestrator-workers-fact-checker"},{"id":"archive/theme7-evaluator-optimizer-translation-loop","title":"Evaluator-Optimizer Translation Loop","href":"/recipes/archive/theme7-evaluator-optimizer-translation-loop"},{"id":"archive/theme5-crewai-seo-blog-editorial-crew","title":"Multi-Agent SEO Blog Pipeline that Publishes to Ghost","href":"/recipes/archive/theme5-crewai-seo-blog-editorial-crew"},{"id":"archive/theme7-langgraph-supervisor-research-desk","title":"LangGraph Supervisor Research Desk","href":"/recipes/archive/theme7-langgraph-supervisor-research-desk"},{"id":"archive/theme4-crewai-multi-agent-ticket-triage","title":"Multi-Agent Support Ticket Triage with CrewAI","href":"/recipes/archive/theme4-crewai-multi-agent-ticket-triage"},{"id":"archive/theme5-qdrant-brand-aware-content-rag","title":"Brand-Aware Content Generator with RAG","href":"/recipes/archive/theme5-qdrant-brand-aware-content-rag"},{"id":"archive/theme4-inngest-durable-rag-answer-workflow","title":"Durable RAG Answer Workflow with Inngest","href":"/recipes/archive/theme4-inngest-durable-rag-answer-workflow"},{"id":"archive/theme7-llamaindex-agentworkflow-report-swarm","title":"LlamaIndex AgentWorkflow Report Swarm","href":"/recipes/archive/theme7-llamaindex-agentworkflow-report-swarm"},{"id":"archive/theme5-content-repurposing-worker","title":"Repurpose One Blog Post into a Week of Channels","href":"/recipes/archive/theme5-content-repurposing-worker"},{"id":"archive/theme2-cover-agent-test-generation","title":"Coverage-Driven Unit Test Generation with Cover-Agent","href":"/recipes/archive/theme2-cover-agent-test-generation"},{"id":"archive/theme3-llamaparse-pdf-manuals-qdrant-hybrid-search","title":"Parse Complex PDF Manuals into a Qdrant Hybrid-Search Knowledge Base","href":"/recipes/archive/theme3-llamaparse-pdf-manuals-qdrant-hybrid-search"},{"id":"archive/theme2-openhands-dependency-migration-agent","title":"Autonomous Dependency Migration Agent with OpenHands","href":"/recipes/archive/theme2-openhands-dependency-migration-agent"},{"id":"archive/theme0-crewai-daily-briefing-crew","title":"Multi-Agent Daily Briefing Crew","href":"/recipes/archive/theme0-crewai-daily-briefing-crew"},{"id":"archive/theme2-trigger-dev-github-issue-triage","title":"GitHub Issue Triage and PR Review on Trigger.dev","href":"/recipes/archive/theme2-trigger-dev-github-issue-triage"},{"id":"archive/theme1-firecrawl-deep-research-agent","title":"Deep Research Agent with Firecrawl and an Agent SDK","href":"/recipes/archive/theme1-firecrawl-deep-research-agent"},{"id":"archive/theme2-firecrawl-qdrant-migration-assistant","title":"Live-Docs Migration Assistant with Firecrawl and Qdrant","href":"/recipes/archive/theme2-firecrawl-qdrant-migration-assistant"},{"id":"archive/theme0-triggerdev-per-user-morning-briefing","title":"Per-User Morning Briefing on Trigger.dev","href":"/recipes/archive/theme0-triggerdev-per-user-morning-briefing"},{"id":"archive/theme1-langgraph-exa-deep-research-pipeline","title":"Auditable Deep Research Pipeline with LangGraph and Exa","href":"/recipes/archive/theme1-langgraph-exa-deep-research-pipeline"}]},{"id":"agent-runtime","name":"Agent Runtime","items":[{"id":"cloudflare-free-app-stack","title":"Cloudflare Free App Stack","href":"/recipes/cloudflare-free-app-stack"},{"id":"archive/theme6-autonomous-incident-triage-agent","title":"Autonomous Incident Triage Agent for On-Call SREs","href":"/recipes/archive/theme6-autonomous-incident-triage-agent"},{"id":"cloudflare-ai-gateway-free-llm-fallback","title":"Cloudflare AI Gateway Free LLM Fallback Chain","href":"/recipes/cloudflare-ai-gateway-free-llm-fallback"},{"id":"vercel-agent-ai-gateway-central-hub","title":"Vercel Agent AI Gateway Central Hub","href":"/recipes/vercel-agent-ai-gateway-central-hub"},{"id":"archive/theme6-natural-language-iac-generator","title":"Natural-Language Infrastructure-as-Code Generator","href":"/recipes/archive/theme6-natural-language-iac-generator"},{"id":"archive/theme6-kubernetes-sre-helper-agent","title":"Kubernetes SRE Helper Agent for Multi-Cluster Toil","href":"/recipes/archive/theme6-kubernetes-sre-helper-agent"},{"id":"archive/theme0-langgraph-gmail-email-assistant","title":"Human-in-the-Loop Gmail Email Assistant","href":"/recipes/archive/theme0-langgraph-gmail-email-assistant"},{"id":"archive/theme5-langgraph-social-media-post-agent","title":"URL to Twitter & LinkedIn Posts with Human Review","href":"/recipes/archive/theme5-langgraph-social-media-post-agent"},{"id":"archive/theme7-langgraph-supervisor-research-desk","title":"LangGraph Supervisor Research Desk","href":"/recipes/archive/theme7-langgraph-supervisor-research-desk"},{"id":"archive/theme7-crewai-hierarchical-content-crew","title":"CrewAI Hierarchical Content Crew","href":"/recipes/archive/theme7-crewai-hierarchical-content-crew"},{"id":"archive/theme4-zendesk-webhook-triage-agent","title":"Zendesk Ticket Triage Agent: Classify, Search the KB, Route to Slack","href":"/recipes/archive/theme4-zendesk-webhook-triage-agent"},{"id":"archive/theme7-llamaindex-agentworkflow-report-swarm","title":"LlamaIndex AgentWorkflow Report Swarm","href":"/recipes/archive/theme7-llamaindex-agentworkflow-report-swarm"},{"id":"archive/theme4-llamaindex-document-agents-support","title":"Document Agents over Manuals and FAQs with LlamaIndex","href":"/recipes/archive/theme4-llamaindex-document-agents-support"},{"id":"archive/theme7-parallel-subagent-research-swarm","title":"Parallel Subagent Research Swarm","href":"/recipes/archive/theme7-parallel-subagent-research-swarm"},{"id":"archive/theme2-llamaindex-codebase-qa","title":"Chat With Your Codebase Using LlamaIndex RAG","href":"/recipes/archive/theme2-llamaindex-codebase-qa"},{"id":"archive/theme0-google-calendar-mcp-agent","title":"Natural-Language Google Calendar Agent (MCP)","href":"/recipes/archive/theme0-google-calendar-mcp-agent"},{"id":"archive/theme3-crewai-multi-agent-lead-scraper","title":"Multi-Agent Lead Scraper that Outputs a Structured Leads Table","href":"/recipes/archive/theme3-crewai-multi-agent-lead-scraper"},{"id":"archive/theme2-openhands-dependency-migration-agent","title":"Autonomous Dependency Migration Agent with OpenHands","href":"/recipes/archive/theme2-openhands-dependency-migration-agent"},{"id":"archive/theme1-firecrawl-deep-research-agent","title":"Deep Research Agent with Firecrawl and an Agent SDK","href":"/recipes/archive/theme1-firecrawl-deep-research-agent"},{"id":"archive/theme1-langgraph-exa-deep-research-pipeline","title":"Auditable Deep Research Pipeline with LangGraph and Exa","href":"/recipes/archive/theme1-langgraph-exa-deep-research-pipeline"},{"id":"archive/theme1-crewai-competitive-analysis-crew","title":"Competitive Analysis Crew that Outputs a Strategic Report","href":"/recipes/archive/theme1-crewai-competitive-analysis-crew"},{"id":"archive/theme1-searxng-private-web-research-agent","title":"Private Web Research Agent with Self-Hosted SearXNG","href":"/recipes/archive/theme1-searxng-private-web-research-agent"}]},{"id":"notification","name":"Notification","items":[{"id":"archive/theme6-kubernetes-sre-helper-agent","title":"Kubernetes SRE Helper Agent for Multi-Cluster Toil","href":"/recipes/archive/theme6-kubernetes-sre-helper-agent"},{"id":"archive/theme0-firecrawl-news-digest-email","title":"Daily Web Digest to Your Inbox (Firecrawl)","href":"/recipes/archive/theme0-firecrawl-news-digest-email"},{"id":"archive/theme0-triggerdev-per-user-morning-briefing","title":"Per-User Morning Briefing on Trigger.dev","href":"/recipes/archive/theme0-triggerdev-per-user-morning-briefing"},{"id":"archive/theme1-firecrawl-monitor-competitor-watch-agent","title":"Competitor Web-Change Watch Agent with Firecrawl Monitor","href":"/recipes/archive/theme1-firecrawl-monitor-competitor-watch-agent"}]},{"id":"knowledge-base","name":"Knowledge Base","items":[{"id":"archive/theme6-log-clustering-triage-agent","title":"Log Clustering and Triage Agent over MCP","href":"/recipes/archive/theme6-log-clustering-triage-agent"},{"id":"archive/theme6-scheduled-log-anomaly-sentinel","title":"Scheduled Log-Anomaly Sentinel with Vector Search","href":"/recipes/archive/theme6-scheduled-log-anomaly-sentinel"},{"id":"archive/theme4-langgraph-qdrant-hybrid-support-chatbot","title":"Hybrid-Search Customer Support Chatbot with LangGraph and Qdrant","href":"/recipes/archive/theme4-langgraph-qdrant-hybrid-support-chatbot"},{"id":"archive/theme4-firecrawl-docs-to-knowledge-base-agent","title":"Turn a Documentation Site into a Support Agent with Firecrawl and LangGraph","href":"/recipes/archive/theme4-firecrawl-docs-to-knowledge-base-agent"},{"id":"archive/theme5-qdrant-brand-aware-content-rag","title":"Brand-Aware Content Generator with RAG","href":"/recipes/archive/theme5-qdrant-brand-aware-content-rag"},{"id":"archive/theme4-llamaindex-document-agents-support","title":"Document Agents over Manuals and FAQs with LlamaIndex","href":"/recipes/archive/theme4-llamaindex-document-agents-support"},{"id":"archive/theme2-llamaindex-codebase-qa","title":"Chat With Your Codebase Using LlamaIndex RAG","href":"/recipes/archive/theme2-llamaindex-codebase-qa"},{"id":"archive/theme0-second-brain-notes-rag","title":"Second-Brain Notes Assistant (RAG over your vault)","href":"/recipes/archive/theme0-second-brain-notes-rag"},{"id":"archive/theme3-llamaparse-pdf-manuals-qdrant-hybrid-search","title":"Parse Complex PDF Manuals into a Qdrant Hybrid-Search Knowledge Base","href":"/recipes/archive/theme3-llamaparse-pdf-manuals-qdrant-hybrid-search"},{"id":"archive/theme3-firecrawl-crawl-docs-upstash-vector-rag","title":"Crawl a Documentation Site into an Upstash Vector RAG Index","href":"/recipes/archive/theme3-firecrawl-crawl-docs-upstash-vector-rag"},{"id":"archive/theme3-langchain-incremental-indexing-pgvector-sync","title":"Incrementally Sync a Source into a pgvector Index Without Re-Embedding","href":"/recipes/archive/theme3-langchain-incremental-indexing-pgvector-sync"},{"id":"archive/theme2-firecrawl-qdrant-migration-assistant","title":"Live-Docs Migration Assistant with Firecrawl and Qdrant","href":"/recipes/archive/theme2-firecrawl-qdrant-migration-assistant"},{"id":"archive/theme1-searxng-private-web-research-agent","title":"Private Web Research Agent with Self-Hosted SearXNG","href":"/recipes/archive/theme1-searxng-private-web-research-agent"}]}],"curatedHighlightsByCategory":{"llm-providers":{"collection":"infrastructure","category":"llm-providers","updatedAt":"2026-07-13","picks":[{"slug":"google-gemini","headline":"The default free frontier API","description":"The strongest standing free tier in the catalog: current Gemini frontier models, a real free quota that renews daily, and no credit card at any point. Tool calling, structured output, and a long context window are all on the free tier β the whole modern feature set, not a crippled demo. Note the two honest trade-offs: the API is Google-native REST rather than OpenAI-compatible, and free-tier prompts are used for model training with no opt-out. Rate limits vary by model and region, but for agents, prototypes, and side projects the free tier is genuinely workable as a daily driver. If you only configure one free LLM provider, make it this one.","whyChips":["No card","Frontier models","Model-specific limits"],"verified":{"verifiedAt":"2026-07-13","confidence":"high","note":"Official Google pricing confirms a free tier and training use; official rate-limit docs say RPM, TPM, and RPD vary by model/project and must be read from AI Studio. No blanket 5,000-request quota is claimed."},"offer":{"slug":"google-gemini","title":"Google AI Studio / Gemini API","provider":"Google AI Studio / Gemini API","planName":"freemium","logo":"/logos/gemini.svg","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free tier exists; exact RPM, TPM, and RPD vary by model, project, region, and the live limits shown in Google AI Studio.","keyMetrics":[{"key":"model","label":"Best model","value":"50.2 AA","display":"50.2 AA"}],"url":"https://ai.google.dev/gemini-api/docs"}},{"slug":"groq","headline":"Absurd speed, free to start","description":"LPU inference makes open models (Llama, Qwen, GPT-OSS) respond at hundreds of tokens per second β interactive agents feel instant. The free plan has honest per-model RPM/RPD/TPM limits visible in the console, no card required. When latency is the feature, start here.","whyChips":["Fastest inference","No card"],"verified":{"verifiedAt":"2026-07-07","confidence":"high","note":"All five S2.5 points live-verified (console rate-limit docs, pricing, ToS, model list); no card; commercial OK."},"offer":{"slug":"groq","title":"GroqCloud","provider":"GroqCloud","planName":"freemium","logo":"/logos/groq.svg","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free plan limits are shown per organization/model in Groq Console; measured as RPM/RPD/TPM/TPD.","keyMetrics":[{"key":"model","label":"Best model","value":"23.8 AA","display":"23.8 AA"},{"key":"tokens_per_minute","label":"Tokens/min","value":"6K T/min","display":"6K T/min"},{"key":"requests_per_day","label":"Requests/day","value":"14.4K R/day","display":"14.4K R/day"}],"url":"https://console.groq.com/"}},{"slug":"openrouter","headline":"27 free models behind one key","description":"One OpenAI-compatible key routes to every provider's zero-price models β 27 free routes at last count, including strong recent open-weights. Free-model limits are request-based (about 20 RPM / 50 per day without a top-up), which is plenty for evaluation and light agent duty. The single-integration hedge against any one provider changing its terms.","whyChips":["One key, many models","OpenAI-compatible"],"verified":{"verifiedAt":"2026-07-07","confidence":"high","note":"Live-verified: 27+ :free routes, 20 RPM / 50 RPD (1,000 RPD with $10 credit), no card, commercial OK; credit balance must stay at $0 or above."},"offer":{"slug":"openrouter","title":"OpenRouter","provider":"OpenRouter","planName":"freemium","logo":"/logos/apis/openrouter.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"27 zero-price OpenRouter routes; no-top-up free-model limits are request-based (20 RPM, 50 requests/day). Buying credits raises the daily limit.","keyMetrics":[{"key":"model","label":"Best model","value":"37.8 AA","display":"37.8 AA"},{"key":"requests_per_day","label":"Requests/day","value":"50 R/day","display":"50 R/day"},{"key":"requests_per_minute","label":"Requests/min","value":"20 R/min","display":"20 R/min"}],"url":"https://openrouter.ai/"}}],"hero":{"slug":"google-gemini","headline":"The default free frontier API","description":"The strongest standing free tier in the catalog: current Gemini frontier models, a real free quota that renews daily, and no credit card at any point. Tool calling, structured output, and a long context window are all on the free tier β the whole modern feature set, not a crippled demo. Note the two honest trade-offs: the API is Google-native REST rather than OpenAI-compatible, and free-tier prompts are used for model training with no opt-out. Rate limits vary by model and region, but for agents, prototypes, and side projects the free tier is genuinely workable as a daily driver. If you only configure one free LLM provider, make it this one.","whyChips":["No card","Frontier models","Model-specific limits"],"verified":{"verifiedAt":"2026-07-13","confidence":"high","note":"Official Google pricing confirms a free tier and training use; official rate-limit docs say RPM, TPM, and RPD vary by model/project and must be read from AI Studio. No blanket 5,000-request quota is claimed."},"offer":{"slug":"google-gemini","title":"Google AI Studio / Gemini API","provider":"Google AI Studio / Gemini API","planName":"freemium","logo":"/logos/gemini.svg","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free tier exists; exact RPM, TPM, and RPD vary by model, project, region, and the live limits shown in Google AI Studio.","keyMetrics":[{"key":"model","label":"Best model","value":"50.2 AA","display":"50.2 AA"}],"url":"https://ai.google.dev/gemini-api/docs"}},"nominations":[{"slug":"mistral-ai","label":"Frontier free","description":"Frontier Mistral models (Medium 3.5, Large 3, Codestral) on a no-card Experiment tier that is ongoing, not a trial. Data training is on by default and the tier is framed for evaluation β flip the opt-out and it is the best EU-hosted free entry point.","verified":{"verifiedAt":"2026-07-10","confidence":"high","note":"Live-verified: ongoing no-card free tier, 10 models incl. frontier; exact limits login-gated; data-training default-on; commercial use requires paid Scale plan."},"icon":"medal","offer":{"slug":"mistral-ai","title":"Mistral AI","provider":"Mistral AI","planName":"freemium","logo":"/logos/mistral-ai.svg","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free 'Experiment' plan, no credit card; public Mistral docs state limited free-mode rate limits and a token/month cap, but do not publish a numeric monthly token allowance. Prompts may be used to improve models.","keyMetrics":[{"key":"model","label":"Best model","value":"12.5 AA","display":"12.5 AA"}],"url":"https://console.mistral.ai/api-keys"}},{"slug":"ollama-cloud","label":"Privacy first","description":"A genuine $0 tier metered by GPU time rather than tokens, with frontier open models and a no-logging, no-training requirement on every partner. The only shortlist entry built around data privacy.","verified":{"verifiedAt":"2026-07-09","confidence":"high","note":"Live pricing page: $0 plan, GPU-time metering, 5h/7d limit resets, privacy/no-logging language; commercial allowed."},"icon":"medal","offer":{"slug":"ollama-cloud","title":"Ollama Cloud","provider":"Ollama Cloud","planName":"freemium","logo":"/logos/ollama-cloud.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free $0 plan includes access to cloud models with reported 'light usage' limits: session limits reset every 5 hours and weekly limits every 7 days; usage measured by GPU time, not tokens. Pro ($20/mo) and Max ($100/mo) raise limits 50x/250x.","keyMetrics":[{"key":"model","label":"Best model","value":"33.8 AA","display":"33.8 AA"}],"url":"https://ollama.com/cloud"}},{"slug":"fireworks-ai","label":"Model breadth","description":"34 models β DeepSeek V4, Llama 4, Qwen 3.6, Kimi K2, GLM-5.2 β behind one OpenAI-compatible key, with a $1 no-card signup credit that covers real evaluation. Production continues seamlessly as pay-as-you-go.","verified":{"verifiedAt":"2026-07-09","confidence":"high","note":"Live pricing page: $1 one-time signup credit, no card, instant key, OpenAI-compatible; commercial allowed; finite credit, not ongoing-free."},"icon":"medal","offer":{"slug":"fireworks-ai","title":"Fireworks AI","provider":"Fireworks AI","planName":"finite_credit","logo":"/logos/apis/fireworks-ai.png","pricingModel":"finite_credit","accessBucket":"conditional","freeLimitText":"$1 in free credits on signup for serverless text and vision models; pay-as-you-go thereafter. Finite, one-time.","keyMetrics":[{"key":"model","label":"Best model","value":"51.1 AA","display":"51.1 AA"},{"key":"requests_per_minute","label":"Requests/min","value":"10 R/min","display":"10 R/min"},{"key":"credit_amount_usd","label":"Credit","value":"1 USD","display":"1 USD"}],"url":"https://fireworks.ai/"}}],"paidPicks":[{"slug":"kimi-code-moderato","description":"A focused coding subscription for Kimi's long-context code models with OpenAI and Anthropic-compatible endpoints.","priceFact":"$19/mo","offer":{"slug":"kimi-code-moderato","title":"Kimi Code Moderato","provider":"Kimi Code Moderato","planName":"paid","logo":"/logos/kimi-code-moderato.png","pricingModel":"paid","accessBucket":"paid","freeLimitText":"Paid β $19/mo ($15/mo billed annually). Kimi K2.7 Code + K2.7 HighSpeed (~180 tok/s) + K2.6; ~300-1,200 requests/5h with weekly quota, up to 30 concurrent; OpenAI- AND Anthropic-compatible endpoints (Claude Code, OpenCode, OpenClaw, custom agents)","keyMetrics":[{"key":"model","label":"Best model","value":"42 AA","display":"42 AA"},{"key":"requests_per_month","label":"Requests/month","value":"172.8K R/mo","display":"172.8K R/mo"},{"key":"paid_value_ratio","label":"Value ratio","value":"0.05 value/$","display":"0.05 value/$"}],"url":"https://www.kimi.com/code"}},{"slug":"command-code-provider-api","description":"A direct provider API with included usage, discounted open models, and list-price access to premium frontier models.","priceFact":"$15/mo + PAYG","offer":{"slug":"command-code-provider-api","title":"Command Code Provider API","provider":"Command Code Provider API","planName":"paid","logo":"/logos/command-code-provider-api.png","pricingModel":"paid","accessBucket":"paid","freeLimitText":"Paid β $15/mo ($15 usage included, then PAYG at model rates, no markup). Raw OpenAI- + Anthropic-compatible API ('no lock-in β any client or agent') with GLM-5.2 + GLM-5.2 Fast (1M ctx), Kimi K2.7 Code + HighSpeed, DeepSeek V4 Pro (75% off), MiMo V2.5 (98% off), plus Claude/GPT/Gemini at list; $15 usage included, then pay-as-you-go with permanent discounts","keyMetrics":[{"key":"model","label":"Best model","value":"51.1 AA","display":"51.1 AA"}],"url":"https://commandcode.ai/pricing"}},{"slug":"deepseek-platform-api","description":"Low-cost metered DeepSeek API access for chat and reasoning workloads when pay-as-you-go pricing is the right fit.","priceFact":"$0.28/M out","offer":{"slug":"deepseek-platform-api","title":"DeepSeek Platform API","provider":"DeepSeek Platform API","planName":"paid","logo":"/logos/deepseek-platform-api.png","pricingModel":"paid","accessBucket":"paid","freeLimitText":"Paid β Pay-as-you-go, ~$0.28/M output (chat); R1 $0.55/$2.19. deepseek-chat (V3.2): $0.028 cache / $0.28 input miss / $0.42 output per 1M; deepseek-reasoner (R1): $0.14/$0.55/$2.19, cheapest top-tier reasoning","keyMetrics":[{"key":"model","label":"Best model","value":"24.7 AA","display":"24.7 AA"}],"url":"https://api-docs.deepseek.com/quick_start/pricing"}}],"specialSlot":{"slug":"nvidia","description":"NVIDIA NIM is a conditional developer-access offer: useful when its model catalog and rate limits match the prototype.","priceFact":"40 RPM","verified":{"verifiedAt":"2026-07-12","confidence":"high","note":"Live-verified: ongoing rate-limited trial (~40 RPM), no card, instant NGC key, 145+ models; commercial use NOT allowed on the free endpoint (NVIDIA API Trial ToS)."},"label":"40 RPM developer access","offer":{"slug":"nvidia","title":"NVIDIA NIM","provider":"NVIDIA NIM","planName":"freemium","logo":"/logos/nvidia.svg","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Free developer access: sign up and call many models through one endpoint; free use is governed by a 40 requests-per-minute rate limit (NVIDIA retired the old signup-credit system). Verify current rate limits and model list on the site.","keyMetrics":[{"key":"model","label":"Best model","value":"44.4 AA","display":"44.4 AA"},{"key":"requests_per_minute","label":"Requests/min","value":"40 R/min","display":"40 R/min"}],"url":"https://build.nvidia.com/"}}},"embeddings":{"collection":"infrastructure","category":"embeddings","updatedAt":"2026-07-10","intro":"Hosted vector and embedding services with free starter capacity for retrieval-augmented agent workflows.","picks":[{"slug":"pinecone","headline":"Mainstream managed vector search","description":"Pinecone is the hero embeddings pick because it is the most recognized managed vector database with a clear and generous free Starter plan. The free tier includes up to 2 GB storage, 2 million write units per month, 1 million read units per month, and up to 5 serverless indexes on AWS us-east-1, plus 5 million embedding tokens per month of inference and 1 GB of Assistant storage. That quota handles real retrieval prototypes and small production workloads before the paid Builder plan at $20 per month is needed.","whyChips":["2 GB storage","Serverless indexes","Inference included"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"pinecone","title":"Pinecone","provider":"Pinecone","planName":"freemium","logo":"/logos/pinecone-builder.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"The Starter plan is free with no credit card: up to 2 GB storage, 2M write units/mo, 1M read units/mo, and up to 5 serverless indexes on AWS us-east-1, plus 5M embedding tokens/mo of Inference and 1 GB of Assistant storage.","keyMetrics":[{"key":"free_tokens_per_month","label":"Monthly tokens","value":"5M T/mo","display":"5M T/mo"},{"key":"storage_gb","label":"Storage","value":"2 GB","display":"2 GB"}],"url":"https://www.pinecone.io/"}},{"slug":"weaviate-cloud-serverless","headline":"Free sandbox with lowest storage cost","description":"Weaviate Cloud Serverless is the side pick for teams that want a managed Weaviate instance without running the stack themselves. The free tier includes 100,000 objects and 1 GB of storage, which is enough to evaluate Weaviate's hybrid search and vector capabilities. Beyond the free tier, the per-dimension pricing at $0.095 per million dimensions is among the cheapest published rates for vector storage.","whyChips":["100k objects free","Hybrid search","$0.095/M dims"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"weaviate-cloud-serverless","title":"Weaviate Cloud","provider":"Weaviate Cloud","planName":"freemium","logo":"/logos/weaviate-cloud-serverless.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free tier (100K objects, 1 GB) to start; Serverless then ~$25/mo minimum, then $0.095 per 1M vector dimensions/month (storage) β among the cheapest per-dimension vector rates.","keyMetrics":[{"key":"storage_gb","label":"Storage","value":"1 GB","display":"1 GB"}],"url":"https://weaviate.io/pricing"}},{"slug":"zilliz-cloud","headline":"Managed Milvus with largest free quota","description":"Zilliz Cloud is the side pick for teams that want the largest free quota among the managed Milvus options. The free cluster includes 5 GB storage (approximately 1 million 768-dimensional vectors), 2.5 million vCUs per month, and up to 5 collections with no credit card required. As the creators of Milvus, the migration story and ecosystem support are clearer than for other managed vector stores.","whyChips":["5 GB storage","Milvus ecosystem","No card"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"zilliz-cloud","title":"Zilliz Cloud","provider":"Zilliz Cloud","planName":"freemium","logo":"/logos/zilliz-cloud-serverless.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"One Free cluster per organization with 5 GB storage (~1M 768-dim vectors), 2.5M vCUs/month, and up to 5 collections, no credit card required.","keyMetrics":[{"key":"storage_gb","label":"Storage","value":"5 GB","display":"5 GB"}],"url":"https://zilliz.com"}}],"hero":{"slug":"pinecone","headline":"Mainstream managed vector search","description":"Pinecone is the hero embeddings pick because it is the most recognized managed vector database with a clear and generous free Starter plan. The free tier includes up to 2 GB storage, 2 million write units per month, 1 million read units per month, and up to 5 serverless indexes on AWS us-east-1, plus 5 million embedding tokens per month of inference and 1 GB of Assistant storage. That quota handles real retrieval prototypes and small production workloads before the paid Builder plan at $20 per month is needed.","whyChips":["2 GB storage","Serverless indexes","Inference included"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"pinecone","title":"Pinecone","provider":"Pinecone","planName":"freemium","logo":"/logos/pinecone-builder.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"The Starter plan is free with no credit card: up to 2 GB storage, 2M write units/mo, 1M read units/mo, and up to 5 serverless indexes on AWS us-east-1, plus 5M embedding tokens/mo of Inference and 1 GB of Assistant storage.","keyMetrics":[{"key":"free_tokens_per_month","label":"Monthly tokens","value":"5M T/mo","display":"5M T/mo"},{"key":"storage_gb","label":"Storage","value":"2 GB","display":"2 GB"}],"url":"https://www.pinecone.io/"}},"nominations":[{"slug":"qdrant-cloud-free","label":"Small cluster","description":"Qdrant Cloud Free Tier provides a free-forever single-node cluster with 0.5 vCPU, 1 GB RAM, and 4 GB disk, plus free cloud inference on selected models. It is the nomination for developers who want a straightforward managed vector database with a generous free tier and clear upgrade path to dedicated infrastructure.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"qdrant-cloud-free","title":"Qdrant Cloud Free Tier","provider":"Qdrant Cloud Free Tier","planName":"free","logo":"/logos/qdrant-cloud-free.svg","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Free forever: single-node cluster with 0.5 vCPU, 1GB RAM, 4GB disk, plus free cloud inference with selected models.","keyMetrics":[{"key":"storage_gb","label":"Storage","value":"4 GB","display":"4 GB"}],"url":"https://qdrant.tech/pricing/"}},{"slug":"upstash-vector","label":"Serverless usage","description":"Upstash Vector is the nomination for serverless applications that want vector search with per-request billing and daily operation limits. The free tier includes 10,000 daily query and update operations with up to 1 GB of data, making it suitable for lightweight retrieval workloads where cost predictability matters.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"upstash-vector","title":"Upstash | Vector","provider":"Upstash","planName":"freemium","logo":"/logos/upstash.svg","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Free tier: 10K daily query/update operations, 1 GB max data/metadata size, 1,536 max dimensions, and 100 namespaces.","keyMetrics":[{"key":"storage_gb","label":"Storage","value":"1 GB","display":"1 GB"}],"url":"https://upstash.com/docs/vector"}}],"paidPicks":[]},"databases":{"collection":"infrastructure","category":"databases","updatedAt":"2026-07-10","intro":"Managed databases with durable free or conditional capacity.","picks":[{"slug":"supabase","headline":"The full backend Postgres default","description":"Supabase is the hero database pick because it pairs a managed Postgres instance with auth, file storage, real-time subscriptions, and edge functions in one project. The free tier gives a workable project for prototypes and small products without a credit card. It is the lowest-friction path from zero to a complete hosted backend.","whyChips":["No card","Full backend","Auth + storage"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"supabase","title":"Supabase","provider":"Supabase","planName":"freemium","logo":"/logos/supabase-pro.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free project tier; storage/database quotas depend on current plan.","keyMetrics":[{"key":"bandwidth_gb","label":"Egress","value":"5 GB/mo","display":"5 GB/mo"},{"key":"max_databases","label":"Databases","value":"2 DBs","display":"2 DBs"}],"url":"https://supabase.com/"}},{"slug":"neon","headline":"Non-branchable serverless Postgres","description":"Neon is a strong side pick because it separates compute and storage, giving you serverless Postgres that scales to zero without cold-start latency on every connection. Branching databases for staging and preview environments is a distinctive feature that fits agent development workflows where each agent run needs an isolated data view.","whyChips":["Scales to zero","Branching","Serverless Postgres"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"neon","title":"Neon","provider":"Neon","planName":"free_forever","logo":"/logos/neon-launch.png","pricingModel":"free_forever","accessBucket":"free","freeLimitText":"Free tier available; compute/storage limits depend on plan.","keyMetrics":[{"key":"storage_gb","label":"Storage","value":"0.5 GB","display":"0.5 GB"},{"key":"bandwidth_gb","label":"Egress","value":"5 GB/mo","display":"5 GB/mo"},{"key":"compute_hours","label":"Compute","value":"100 hrs/mo","display":"100 hrs/mo"}],"url":"https://neon.com/"}},{"slug":"turso","headline":"SQLite close to the edge","description":"Turso is the side pick for applications that benefit from embedded SQLite semantics replicated to the edge. The free starter tier covers small production experiments and agent state use cases. The libSQL compatibility also provides a familiar interface for Postgres migrants who want multi-tenant isolation without the overhead of a full Postgres cluster.","whyChips":["Edge SQLite","libSQL","Free starter"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"turso","title":"Turso","provider":"Turso","planName":"freemium","logo":"/logos/turso-developer.png","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Free starter tier available; rows/storage/groups vary by plan.","keyMetrics":[{"key":"storage_gb","label":"Storage","value":"5 GB","display":"5 GB"},{"key":"row_writes_m","label":"Writes","value":"10 M rows/mo","display":"10 M rows/mo"},{"key":"bandwidth_gb","label":"Egress","value":"3 GB/mo","display":"3 GB/mo"}],"url":"https://turso.tech/"}}],"hero":{"slug":"supabase","headline":"The full backend Postgres default","description":"Supabase is the hero database pick because it pairs a managed Postgres instance with auth, file storage, real-time subscriptions, and edge functions in one project. The free tier gives a workable project for prototypes and small products without a credit card. It is the lowest-friction path from zero to a complete hosted backend.","whyChips":["No card","Full backend","Auth + storage"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"supabase","title":"Supabase","provider":"Supabase","planName":"freemium","logo":"/logos/supabase-pro.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free project tier; storage/database quotas depend on current plan.","keyMetrics":[{"key":"bandwidth_gb","label":"Egress","value":"5 GB/mo","display":"5 GB/mo"},{"key":"max_databases","label":"Databases","value":"2 DBs","display":"2 DBs"}],"url":"https://supabase.com/"}},"nominations":[{"slug":"cockroachdb-basic","label":"Scale-to-zero","description":"CockroachDB Basic includes 50 million RUs and 10 GiB storage free per month on the Basic plan, scales to zero between uses, and requires no credit card. It is a practical way to get a globally resilient, Postgres-compatible SQL database without managing infrastructure or committing to a paid plan.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"cockroachdb-basic","title":"CockroachDB Cloud","provider":"CockroachDB Cloud","planName":"freemium","logo":"/logos/cockroachdb-basic.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"50 million Request Units (RUs) and 10 GiB storage free per month on the Basic plan; scales to zero; no credit card required for Basic. ($400 in trial credits also available separately.)","keyMetrics":[{"key":"storage_gb","label":"Storage","value":"10 GB","display":"10 GB"},{"key":"max_databases","label":"Databases","value":"1 DBs","display":"1 DBs"}],"url":"https://www.cockroachlabs.com/pricing/"}},{"slug":"prisma-postgres","label":"Postgres in one click","description":"Prisma Postgres is directly integrated with the Prisma ORM, making it a natural choice for teams already using Prisma for schema management. The free tier includes 100,000 operations per month, 500 MB storage, and 50 databases with no card required, which is enough to evaluate a small project before committing to a paid plan.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"prisma-postgres","title":"Prisma Postgres","provider":"Prisma Postgres","planName":"freemium","logo":"/logos/prisma-postgres-starter.png","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Free: 100,000 operations/month included, 500 MB storage, 50 databases, no credit card required.","keyMetrics":[{"key":"storage_gb","label":"Storage","value":"0.5 GB","display":"0.5 GB"},{"key":"bandwidth_gb","label":"Egress","value":"β","display":"β"},{"key":"max_databases","label":"Databases","value":"50 DBs","display":"50 DBs"}],"url":"https://www.prisma.io/pricing"}}],"paidPicks":[]},"app-platforms":{"collection":"infrastructure","category":"app-platforms","updatedAt":"2026-07-10","intro":"Full-stack and backend hosting with credible free deploy paths.","picks":[{"slug":"convex-free","headline":"The reactive backend-in-a-box","description":"Convex is the hero app-platform pick because it combines a reactive Postgres-like database, serverless functions, scheduled jobs, auth, file storage, and vector search into one coherent platform. The free and Starter tiers cover up to 40 deployments and 1 million function calls per month, which is enough to build and ship a real agent app without stitching together separate services. The reactive programming model reduces the boilerplate of keeping agent state synchronized across clients.","whyChips":["Reactive database","Functions + cron","1M calls/mo"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"convex-free","title":"Convex","provider":"Convex","planName":"free","logo":"/logos/convex-free.png","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Free & Starter: reactive database, file/text/vector search, crons, auth, Node.js actions, up to 40 deployments (1M function calls/month).","keyMetrics":[{"key":"bandwidth_gb_mo","label":"Bandwidth","value":"1 GB/mo","display":"1 GB/mo"}],"url":"https://convex.dev/pricing"}},{"slug":"koyeb-free","headline":"Simple container platform plus Postgres","description":"Koyeb is the side pick for teams that want a simple container platform with a managed Postgres option and a path to serverless GPUs without Kubernetes complexity. The free tier gives one web service with 512 MB RAM, 0.1 vCPU, 2 GB SSD, plus a free PostgreSQL database with 1 GB storage and 100 GB monthly outbound bandwidth. Per-second billing means you only pay for what you use once production traffic starts.","whyChips":["Containers + Postgres","GPU path","Free tier"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"koyeb-free","title":"Koyeb","provider":"Koyeb","planName":"free","logo":"/logos/koyeb.png","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"One free web Service (512 MB RAM, 0.1 vCPU, 2 GB SSD) in Frankfurt, Washington D.C., or Singapore, plus one free PostgreSQL database (1 GB storage, 5 hours active time), and 100 GB free outbound bandwidth/month. Requires a credit card (a $29 pre-authorization hold is placed during verification).","keyMetrics":[{"key":"bandwidth_gb_mo","label":"Bandwidth","value":"100 GB/mo","display":"100 GB/mo"},{"key":"build_minutes_mo","label":"Build minutes","value":"β","display":"β"},{"key":"custom_domains","label":"Custom domains","value":"5 domains","display":"5 domains"}],"url":"https://www.koyeb.com/docs/faqs/pricing"}},{"slug":"huggingface-spaces","headline":"Best place to publish an AI demo","description":"Hugging Face Spaces is the side pick for agent apps that need to ship an AI-facing demo to collaborators or users quickly. Free CPU Spaces exist and the community discovery on the platform gives prototypes visibility without any hosting setup. The trade-off is that free CPU Spaces sleep and restart, so they are not reliable for always-on bots or real-time agents β but for shareable demos, evaluations, and prototypes, the path from zero to a live demo is the shortest available.","whyChips":["AI demos","Community discovery","Free CPU"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"huggingface-spaces","title":"Hugging Face Spaces","provider":"Hugging Face Spaces","planName":"freemium","logo":"/logos/huggingface.svg","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free CPU Spaces exist; sleeping/restarts make realtime bots unreliable.","keyMetrics":[{"key":"bandwidth_gb_mo","label":"Bandwidth","value":"β","display":"β"},{"key":"build_minutes_mo","label":"Build minutes","value":"β","display":"β"}],"url":"https://huggingface.co/spaces"}}],"hero":{"slug":"convex-free","headline":"The reactive backend-in-a-box","description":"Convex is the hero app-platform pick because it combines a reactive Postgres-like database, serverless functions, scheduled jobs, auth, file storage, and vector search into one coherent platform. The free and Starter tiers cover up to 40 deployments and 1 million function calls per month, which is enough to build and ship a real agent app without stitching together separate services. The reactive programming model reduces the boilerplate of keeping agent state synchronized across clients.","whyChips":["Reactive database","Functions + cron","1M calls/mo"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"convex-free","title":"Convex","provider":"Convex","planName":"free","logo":"/logos/convex-free.png","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Free & Starter: reactive database, file/text/vector search, crons, auth, Node.js actions, up to 40 deployments (1M function calls/month).","keyMetrics":[{"key":"bandwidth_gb_mo","label":"Bandwidth","value":"1 GB/mo","display":"1 GB/mo"}],"url":"https://convex.dev/pricing"}},"nominations":[{"slug":"leapcell","label":"Always-on","description":"Leapcell's Hobby plan covers up to 20 projects with 3 vCPU and 4 GB RAM each, 100,000 serverless invocations, 3 GB-hours compute, 1 free PostgreSQL database, 100K Redis commands per month, and 2 GB egress per month β all at no cost with no credit card required. The offering is distinctive because it includes a real always-on Postgres alongside serverless functions, which is rare at the free tier.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"leapcell","title":"Leapcell","provider":"Leapcell","planName":"freemium","logo":"/logos/leapcell.png","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Hobby plan ($0): up to 20 projects (3 vCPU / 4 GB RAM each), 100,000 serverless invocations and 3 GB-hours compute per month, 1 free PostgreSQL database, 100K Redis commands/mo, 2 GB egress/mo, 60 build min/mo, plus custom domains with free TLS and global CDN.","keyMetrics":[{"key":"bandwidth_gb_mo","label":"Bandwidth","value":"2 GB/mo","display":"2 GB/mo"},{"key":"build_minutes_mo","label":"Build minutes","value":"60 min/mo","display":"60 min/mo"}],"url":"https://leapcell.io"}},{"slug":"nhost-free","label":"Full backend","description":"Nhost is the nomination for teams that want a GraphQL-first managed backend with Postgres, Hasura, auth, storage, and serverless functions already wired together. The free Starter plan includes 1 GB database, 1 GB storage, 5 GB egress, and unlimited users β enough for a small production experiment or a weekend project that does not want to configure each service individually.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"nhost-free","title":"Nhost","provider":"Nhost","planName":"free","logo":"/logos/nhost-free.svg","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Starter $0/month: 1 GB database, 1 GB storage, 5 GB egress, functions, realtime APIs, unlimited users, OAuth, 1 project (paused after 1 week idle).","keyMetrics":[{"key":"bandwidth_gb_mo","label":"Bandwidth","value":"5 GB/mo","display":"5 GB/mo"},{"key":"function_invocations_mo","label":"Function calls","value":"β","display":"β"}],"url":"https://nhost.io/pricing"}}],"paidPicks":[]},"agent-deployment":{"collection":"infrastructure","category":"agent-deployment","updatedAt":"2026-07-12","intro":"Hosted agent runtimes with useful free or starter capacity.","picks":[{"slug":"cloudflare-agents","headline":"Best free stateful agent runtime","description":"Cloudflare Agents is the strongest default pick for a hosted agent runtime because it combines Workers, Durable Objects, and a large no-card free allocation. The free plan gives enough daily request and stateful compute capacity for prototypes, internal tools, and small public agents. It is also close to the edge platform many teams already use, so the path from experiment to production is short.","whyChips":["No card","Stateful runtime","Edge deploys"],"verified":{"verifiedAt":"2026-07-12","confidence":"high","note":"Workers Free 100k req/day + DO 100k req/day / 13,000 GB-s/day confirmed live on the Durable Objects pricing page; no card."},"offer":{"slug":"cloudflare-agents","title":"Cloudflare Agents","provider":"Cloudflare Agents","planName":"free","logo":"/logos/cloudflare.svg","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Workers Free plan: 100,000 requests/day, 10 ms CPU/invocation, unlimited bandwidth. Durable Objects (which back each agent's state) are included free: 100,000 requests/day and 13,000 GB-s/day of compute. No credit card required. Workers AI inference has a separate free allocation.","keyMetrics":[{"key":"agent_tool_model_connectivity","label":"Tool/model connectivity","value":"4 signals","display":"4 signals"},{"key":"agent_production_controls","label":"Production controls","value":"1 signals","display":"1 signals"}],"url":"https://agents.cloudflare.com"}},{"slug":"lyzr-agent-studio","headline":"Generous no-code agent studio","description":"Lyzr is a useful pick when the goal is to build and test multiple hosted agents without starting from infrastructure code. The community tier lists meaningful monthly credits, agent slots, and knowledge-base capacity. It is a good editorial counterpoint to code-first runtimes.","whyChips":["Hosted studio","Monthly credits"],"verified":{"verifiedAt":"2026-07-12","confidence":"medium","note":"Community Plan ($0, 10 agents, 500 credits/mo) confirmed in docs.lyzr.ai/introduction/plans, but the main pricing page now leads with per-run pricing only."},"offer":{"slug":"lyzr-agent-studio","title":"Lyzr Agent Studio","provider":"Lyzr Agent Studio","planName":"free","logo":"/logos/lyzr-agent-studio.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Ongoing free tier on Lyzr Agent Studio (hosted Lyzr Cloud). Two figures appear in Lyzr's own docs: the Plans page lists a \"Community Plan\" at $0/month with 500 credits/month (1 credit = $1), build up to 10 agents, 5 knowledge bases, 100 MB RAG storage, 5 tools, 1 builder license, 7-day logs; the Cre","keyMetrics":[{"key":"agent_execution_quota","label":"Execution quota","value":"1 runs/month","display":"1 runs/month"},{"key":"agent_tool_model_connectivity","label":"Tool/model connectivity","value":"1 signals","display":"1 signals"},{"key":"agent_production_controls","label":"Production controls","value":"1 signals","display":"1 signals"}],"url":"https://www.lyzr.ai"}},{"slug":"openai-agentkit-agent-builder-chatkit-agents-sdk","headline":"Best builder experience","description":"OpenAI AgentKit is notable for Agent Builder, ChatKit, and the Agents SDK living in one workflow. The builder surface is free to use, while runtime cost follows model usage. Pick it when design, handoff, and SDK alignment matter more than raw free compute.","whyChips":["Visual builder","SDK aligned"],"verified":{"verifiedAt":"2026-07-12","confidence":"high","note":"Agent Builder/ChatKit/Agents SDK included with standard API model pricing (openai.com AgentKit announcement); runtime = paid tokens."},"offer":{"slug":"openai-agentkit-agent-builder-chatkit-agents-sdk","title":"OpenAI AgentKit","provider":"OpenAI AgentKit","planName":"limited","logo":"/logos/openai-agentkit-agent-builder-chatkit-agents-sdk.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Agent Builder canvas is free to use; you pay only for model/token usage when agents run","keyMetrics":[{"key":"agent_execution_quota","label":"Execution quota","value":"1 runs/month","display":"1 runs/month"},{"key":"agent_tool_model_connectivity","label":"Tool/model connectivity","value":"6 signals","display":"6 signals"},{"key":"agent_production_controls","label":"Production controls","value":"1 signals","display":"1 signals"}],"url":"https://openai.com/index/introducing-agentkit/"}}],"hero":{"slug":"cloudflare-agents","headline":"Best free stateful agent runtime","description":"Cloudflare Agents is the strongest default pick for a hosted agent runtime because it combines Workers, Durable Objects, and a large no-card free allocation. The free plan gives enough daily request and stateful compute capacity for prototypes, internal tools, and small public agents. It is also close to the edge platform many teams already use, so the path from experiment to production is short.","whyChips":["No card","Stateful runtime","Edge deploys"],"verified":{"verifiedAt":"2026-07-12","confidence":"high","note":"Workers Free 100k req/day + DO 100k req/day / 13,000 GB-s/day confirmed live on the Durable Objects pricing page; no card."},"offer":{"slug":"cloudflare-agents","title":"Cloudflare Agents","provider":"Cloudflare Agents","planName":"free","logo":"/logos/cloudflare.svg","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Workers Free plan: 100,000 requests/day, 10 ms CPU/invocation, unlimited bandwidth. Durable Objects (which back each agent's state) are included free: 100,000 requests/day and 13,000 GB-s/day of compute. No credit card required. Workers AI inference has a separate free allocation.","keyMetrics":[{"key":"agent_tool_model_connectivity","label":"Tool/model connectivity","value":"4 signals","display":"4 signals"},{"key":"agent_production_controls","label":"Production controls","value":"1 signals","display":"1 signals"}],"url":"https://agents.cloudflare.com"}},"nominations":[{"slug":"modal","label":"Compute credits","description":"Starter credits and strong serverless primitives make Modal a practical choice for agent jobs that need containers or GPUs.","verified":{"verifiedAt":"2026-07-12","confidence":"high","note":"Starter $0/mo with $30/month recurring free credits, 100 containers + 10 GPU concurrency confirmed live on modal.com/pricing."},"icon":"medal","offer":{"slug":"modal","title":"Modal","provider":"Modal","planName":"paid","logo":"/logos/modal.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Paid β $0/mo (Starter) + usage; CPU $0.0000131/core-sec. Starter free with $30/mo free compute credits, 100 containers + 10 GPU concurrency, 5 crons, 8 webhooks. Sandbox CPU $0.00003942/core-sec, memory $0.00000672/GiB-sec, volumes $0.09/GiB-mo (1 TiB free). Team $250/mo + comput","keyMetrics":[{"key":"agent_execution_quota","label":"Execution quota","value":"1 runs/month","display":"1 runs/month"},{"key":"agent_tool_model_connectivity","label":"Tool/model connectivity","value":"1 signals","display":"1 signals"},{"key":"agent_production_controls","label":"Production controls","value":"2 signals","display":"2 signals"}],"url":"https://modal.com/pricing"}},{"slug":"beam-cloud","label":"GPU starter","description":"Beam Cloud stands out for a developer tier with recurring credits and simple container deployment for AI workloads.","verified":{"verifiedAt":"2026-07-12","confidence":"high","note":"Developer tier $0/mo with $30 monthly credits and 5 GPU container concurrency confirmed live on beam.cloud/pricing."},"icon":"medal","offer":{"slug":"beam-cloud","title":"Beam Cloud","provider":"Beam Cloud","planName":"paid","logo":"/logos/beam-cloud.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Paid β $0/mo (Developer) + usage; CPU $0.0000528/core-sec. Developer free with $30/mo credits, unlimited apps, 5 GPU + 30 CPU containers. CPU $0.0000528/core-sec, RAM $0.0000056/GB-sec, RTX 4090 $0.000192/sec; on-demand H100 $1.74/hr, A100 80GB $1.30/hr; storage free; cold-start ","keyMetrics":[{"key":"agent_execution_quota","label":"Execution quota","value":"1 runs/month","display":"1 runs/month"},{"key":"agent_tool_model_connectivity","label":"Tool/model connectivity","value":"1 signals","display":"1 signals"},{"key":"agent_production_controls","label":"Production controls","value":"1 signals","display":"1 signals"}],"url":"https://www.beam.cloud/pricing"}},{"slug":"arcade-dev","label":"Tool execution","description":"Arcade.dev is worth tracking for hosted tool execution, user authorization, and MCP-oriented agent integrations.","verified":{"verifiedAt":"2026-07-12","confidence":"high","note":"Hobby FREE: 1,000 standard + 50 pro tool executions, 100 auth challenges, 1 hosted MCP server 24/7 confirmed live on arcade.dev/pricing."},"icon":"medal","offer":{"slug":"arcade-dev","title":"Arcade.dev","provider":"Arcade.dev","planName":"free","logo":"/logos/arcade-dev.png","pricingModel":"free_forever","accessBucket":"free","freeLimitText":"Hobby plan (FREE, $0 platform fee, ongoing): 1,000 standard tool executions, 50 pro tool executions, 100 user authorization challenges, and 1 Arcade-hosted MCP server running 24/7 included. Shared tenant. Community support via GitHub Discussions. Rate limit 1,000/min.","keyMetrics":[{"key":"agent_execution_quota","label":"Execution quota","value":"1 runs/month","display":"1 runs/month"},{"key":"agent_tool_model_connectivity","label":"Tool/model connectivity","value":"4 signals","display":"4 signals"},{"key":"agent_production_controls","label":"Production controls","value":"1 signals","display":"1 signals"}],"url":"https://www.arcade.dev/pricing"}}],"paidPicks":[]},"serverless-functions":{"collection":"infrastructure","category":"serverless-functions","updatedAt":"2026-07-10","intro":"Serverless execution with practical free developer capacity at the edge and beyond.","picks":[{"slug":"cloudflare-workers","headline":"The edge function default","description":"Cloudflare Workers is the hero serverless pick because it runs JavaScript and TypeScript at the edge with a genuinely useful free tier and a pricing model that stays simple as usage grows. The runtime is fast, the cold-start is near-zero, and Workers are tightly integrated with Cloudflare's KV, D1, R2, and Queues β which means agent logic can stay within one provider's ecosystem without sacrificing performance. The 100,000 requests per day free allowance covers meaningful prototype and hobby workloads.","whyChips":["100k req/day","Edge runtime","KV + D1 + R2"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"cloudflare-workers","title":"Cloudflare Workers","provider":"Cloudflare Workers","planName":"freemium","logo":"/logos/cloudflare-workers-paid.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free tier historically centered around daily request quotas; verify current limits before launch.","keyMetrics":[{"key":"max_cpu_per_invocation","label":"CPU/call","value":"10 ms","display":"10 ms"},{"key":"bandwidth_per_month","label":"Bandwidth","value":"β","display":"β"}],"url":"https://developers.cloudflare.com/workers/"}},{"slug":"val-town","headline":"Fastest script-to-endpoint path","description":"Val Town earns its pick as the fastest path from a script to a hosted endpoint. The free plan gives 100,000 runs per day at 15-minute intervals, unlimited public vals, and MCP integration β enough to build cron jobs, webhooks, and small AI-connected endpoints without any deployment pipeline. The wall-clock limit and public-only constraint on the free plan are honest trade-offs that match the simplicity of the use case.","whyChips":["100k runs/day","No deploy","MCP integration"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"val-town","title":"Val Town","provider":"Val Town","planName":"freemium","logo":"/logos/val-town.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free plan: 100,000 runs/day, unlimited public vals, 15-minute cron intervals, 1-minute wall-clock time per run, 3-day log retention, MCP integration. (Free tier allows 0 private vals.)","keyMetrics":[{"key":"compute_gb_seconds","label":"Compute","value":"β","display":"β"},{"key":"max_cpu_per_invocation","label":"CPU/call","value":"60K ms","display":"60K ms"},{"key":"bandwidth_per_month","label":"Bandwidth","value":"β","display":"β"}],"url":"https://www.val.town/pricing"}},{"slug":"deno-deploy","headline":"Modern TypeScript at the edge","description":"Deno Deploy is the side pick for teams that want a first-class TypeScript runtime with built-in KV and volume storage at the edge. The free plan includes 1 million inbound requests per month, 20 GB egress, 1 GiB volume storage, and Deno KV with 450k read and 300k write units per month β a generous allowance for a modern edge-native stack that avoids Node.js compatibility overhead.","whyChips":["TypeScript edge","KV included","1M req + 20GB egress"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"deno-deploy","title":"Deno Deploy","provider":"Deno Deploy","planName":"freemium","logo":"/logos/deno-deploy-pro.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free plan: 1M inbound requests/month, 20 GB egress, 1 GiB volume storage, 1 GiB Deno KV storage, 450k KV read units and 300k KV write units per month, 50 custom domains.","keyMetrics":[{"key":"bandwidth_per_month","label":"Bandwidth","value":"20 GB/mo","display":"20 GB/mo"}],"url":"https://deno.com/deploy/pricing"}}],"hero":{"slug":"cloudflare-workers","headline":"The edge function default","description":"Cloudflare Workers is the hero serverless pick because it runs JavaScript and TypeScript at the edge with a genuinely useful free tier and a pricing model that stays simple as usage grows. The runtime is fast, the cold-start is near-zero, and Workers are tightly integrated with Cloudflare's KV, D1, R2, and Queues β which means agent logic can stay within one provider's ecosystem without sacrificing performance. The 100,000 requests per day free allowance covers meaningful prototype and hobby workloads.","whyChips":["100k req/day","Edge runtime","KV + D1 + R2"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"cloudflare-workers","title":"Cloudflare Workers","provider":"Cloudflare Workers","planName":"freemium","logo":"/logos/cloudflare-workers-paid.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free tier historically centered around daily request quotas; verify current limits before launch.","keyMetrics":[{"key":"max_cpu_per_invocation","label":"CPU/call","value":"10 ms","display":"10 ms"},{"key":"bandwidth_per_month","label":"Bandwidth","value":"β","display":"β"}],"url":"https://developers.cloudflare.com/workers/"}},"nominations":[{"slug":"modal","label":"GPU compute","description":"Modal is the nomination for workloads that need GPU acceleration, Python containers, or recurring monthly compute credits rather than per-invocation pricing. The Starter plan includes $30 in free compute credits each month, which covers scheduled GPU inference jobs, batch processing, and sandboxed AI agent loops before the paid threshold arrives.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"modal","title":"Modal","provider":"Modal","planName":"freemium","logo":"/logos/modal.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Starter plan ($0): $30/month in free compute credits (recurring), 3 workspace seats, 100 containers + 10 GPU concurrency, 5 deployed crons, 8 webhook endpoints, 200 deployed apps, 1 TiB/month free volume storage.","keyMetrics":[{"key":"bandwidth_per_month","label":"Bandwidth","value":"β","display":"β"}],"url":"https://modal.com/pricing"}},{"slug":"upstash-workflow","label":"Durable workflow steps","description":"Upstash Workflow is the nomination for serverless functions that are really sequences of durable steps β read a document, call an LLM, write a result, send a notification. The free tier includes 1,000 steps per day and 15-minute maximum HTTP response duration, which covers lightweight agent loops without managing a queue service separately.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"upstash-workflow","title":"Upstash | Workflow","provider":"Upstash","planName":"freemium","logo":"/logos/upstash.svg","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free tier: 1,000 steps/day, 1,000 steps per workflow run, 10 concurrent steps, 1 MB max message size, 7 day max sleep, and 15 min max HTTP response duration.","keyMetrics":[{"key":"bandwidth_per_month","label":"Bandwidth","value":"50 GB/mo","display":"50 GB/mo"}],"url":"https://upstash.com/docs/workflow"}}],"paidPicks":[]},"schedulers":{"collection":"infrastructure","category":"schedulers","updatedAt":"2026-07-10","intro":"Cron and background work services for recurring jobs, checks, queues, and workflows.","picks":[{"slug":"val-town-cron","headline":"The fastest cron for small scripts","description":"Val Town Cron is the hero scheduler pick because it turns a small scheduled script into a hosted recurring job with almost no setup. The free plan supports public vals and 15-minute cron intervals, 100,000 runs per day, and MCP integration β enough to cover most lightweight agent scheduling needs without configuring a pipeline or managing infrastructure. The wall-clock limit on the free plan keeps it honest for its weight class.","whyChips":["100k runs/day","15-min intervals","MCP integration"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"val-town-cron","title":"Val Town Cron","provider":"Val Town Cron","planName":"freemium","logo":"/logos/val-town.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free plan supports public vals and cron intervals; private vals and higher frequency require checking the current plan.","keyMetrics":[{"key":"cron_jobs","label":"Cron jobs","value":"2.5K jobs","display":"2.5K jobs"},{"key":"scheduler_workflow_runtime","label":"Workflow/runtime","value":"6 signals","display":"6 signals"},{"key":"min_interval","label":"Min interval","value":"15 min","display":"15 min"}],"url":"https://docs.val.town/vals/cron/"}},{"slug":"healthchecks-io","headline":"Dead-man switch for cron","description":"Healthchecks.io is the side pick for agent developers who want a simple dead-man switch: a service that alerts when a scheduled job fails to fire. The free plan includes 20 free checks, and the paid plan at roughly $16 per month gives 100 checks with longer log retention β making it a cheap insurance policy for agent workflows where missed runs have real consequences.","whyChips":["20 free checks","Alert on miss","Log retention"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"healthchecks-io","title":"Healthchecks.io","provider":"Healthchecks.io","planName":"paid","logo":"/logos/healthchecks-io.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Paid β $16/mo (Business, $192/yr). 100 checks (crons) at the Business plan ($192/yr, $16/mo) with longer log retention; 20 free checks; free Business plan for OSS/nonprofits. Alerts when jobs don't run on time.","keyMetrics":[{"key":"scheduler_run_quota","label":"Run quota","value":"1 runs/month","display":"1 runs/month"},{"key":"scheduler_workflow_runtime","label":"Workflow/runtime","value":"2 signals","display":"2 signals"}],"url":"https://healthchecks.io/pricing/"}},{"slug":"inngest","headline":"Durable workflows, not just cron","description":"Inngest earns its pick as the durable workflow scheduler for agent pipelines that go beyond simple cron: retries, branching, fan-out, and event-driven steps are first-class primitives rather than bolt-ons. The free Hobby plan includes 50,000 executions per month, 500k events per month, and unlimited serverless cron functions, with no card required. That quota handles meaningful agent workflow prototypes before scaling to a paid plan.","whyChips":["50k executions/mo","Durable retries","Unlimited cron"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"inngest","title":"Inngest","provider":"Inngest","planName":"freemium","logo":"/logos/inngest.png","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Hobby plan ($0/mo, no card): 50,000 executions/month, 500k events/month, 5 concurrent steps, 100k queue depth, unlimited serverless cron functions, and 24h trace/log retention.","keyMetrics":[{"key":"cron_jobs","label":"Cron jobs","value":"β","display":"β"},{"key":"scheduler_workflow_runtime","label":"Workflow/runtime","value":"12 signals","display":"12 signals"},{"key":"min_interval","label":"Min interval","value":"1 min","display":"1 min"}],"url":"https://www.inngest.com"}}],"hero":{"slug":"val-town-cron","headline":"The fastest cron for small scripts","description":"Val Town Cron is the hero scheduler pick because it turns a small scheduled script into a hosted recurring job with almost no setup. The free plan supports public vals and 15-minute cron intervals, 100,000 runs per day, and MCP integration β enough to cover most lightweight agent scheduling needs without configuring a pipeline or managing infrastructure. The wall-clock limit on the free plan keeps it honest for its weight class.","whyChips":["100k runs/day","15-min intervals","MCP integration"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"val-town-cron","title":"Val Town Cron","provider":"Val Town Cron","planName":"freemium","logo":"/logos/val-town.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free plan supports public vals and cron intervals; private vals and higher frequency require checking the current plan.","keyMetrics":[{"key":"cron_jobs","label":"Cron jobs","value":"2.5K jobs","display":"2.5K jobs"},{"key":"scheduler_workflow_runtime","label":"Workflow/runtime","value":"6 signals","display":"6 signals"},{"key":"min_interval","label":"Min interval","value":"15 min","display":"15 min"}],"url":"https://docs.val.town/vals/cron/"}},"nominations":[{"slug":"windmill","label":"Unlimited cron","description":"Windmill's Community Edition is self-hosted and completely free: unlimited cron schedules and executions across 3 workspaces with up to 50 users. It is the nomination for teams that want an open-source, code-first scheduler with a visual builder and execution history, and are comfortable operating the infrastructure themselves.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"windmill","title":"Windmill","provider":"Windmill","planName":"open_source_selfhost","logo":"/logos/paid-windmill.png","pricingModel":"open_source_selfhost","accessBucket":"conditional","freeLimitText":"Self-hosted Community Edition ($0): unlimited cron schedules and executions across 3 workspaces and up to 50 users (10 with SSO), with unlimited scripts/flows/apps and run-detail retention up to 30 days.","keyMetrics":[{"key":"scheduler_run_quota","label":"Run quota","value":"1 runs/month","display":"1 runs/month"},{"key":"cron_jobs","label":"Cron jobs","value":"β","display":"β"},{"key":"scheduler_workflow_runtime","label":"Workflow/runtime","value":"4 signals","display":"4 signals"}],"url":"https://www.windmill.dev"}},{"slug":"vercel-queues","label":"Most runs","description":"Vercel Queues includes the first 1 million Queue API operations per month free in the Hobby tier β a higher operational quota than most competing services at the free level. It is the nomination for agent developers already on Vercel who need to offload expensive work like emails, PDFs, and external API calls from synchronous request paths.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"vercel-queues","title":"Vercel Queues","provider":"Vercel Queues","planName":"freemium","logo":"/logos/vercel.svg","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Hobby includes the first 1,000,000 Queue API operations per month free; beyond that, regional on-demand pricing starting at $0.60 per 1M operations.","keyMetrics":[{"key":"executions","label":"API operations","value":"1M ops/mo","display":"1M ops/mo"},{"key":"scheduler_workflow_runtime","label":"Workflow/runtime","value":"9 signals","display":"9 signals"},{"key":"cron_jobs","label":"Topics","value":"β","display":"β"}],"url":"https://vercel.com/docs/queues"}}],"paidPicks":[]},"storage":{"collection":"infrastructure","category":"storage","updatedAt":"2026-07-10","intro":"Persistent, durable, bindable storage where free quota and egress economics matter.","picks":[{"slug":"cloudflare-r2-standard","headline":"The zero-egress object storage default","description":"Cloudflare R2 is the hero storage pick because it removes the cost developers fear most: egress to the public internet is free at every tier. The free tier includes 10 GB-months of storage, 1 million Class A operations and 10 million Class B operations per month. The S3-compatible API means existing tooling migrates without rewrite, and pairing with Cloudflare Workers keeps agent artifacts close to the compute that processes them.","whyChips":["$0 egress","10 GB storage","1M ops/mo write ops"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"cloudflare-r2-standard","title":"Cloudflare R2","provider":"Cloudflare R2","planName":"freemium","logo":"/logos/cloudflare-r2-infrequent-access.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free 10 GB stored + 1M Class A ops + 10M Class B ops each month, with ZERO egress fees and no minimum retention; beyond the free tier storage is $0.015/GB-month.","keyMetrics":[{"key":"egress_gb","label":"Egress","value":"$0 egress","display":"$0 egress"},{"key":"storage_gb","label":"Storage","value":"10 GB","display":"10 GB"},{"key":"class_a_ops","label":"Write ops","value":"1 M ops/mo","display":"1 M ops/mo"}],"url":"https://developers.cloudflare.com/r2/pricing/"}},{"slug":"backblaze-b2","headline":"Single cheap object storage","description":"Backblaze B2 is the plain-spoken storage pick: 10 GB free from the start, egress credits to reduce bills, and free egress up to 3x of stored data under the free-for-dev program. S3-compatible API, no credit card to create an account, and a straightforward pricing model make it a reliable baseline for backups, media assets, and agent output storage.","whyChips":["10 GB storage","3x free egress","S3-compatible"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"backblaze-b2","title":"Backblaze B2","provider":"Backblaze B2","planName":"freemium","logo":"/logos/backblaze-b2.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free 10 GB object storage for unlimited time (per free-for-dev); free egress up to 3x stored data; no credit card to create an account.","keyMetrics":[{"key":"storage_gb","label":"Storage","value":"10 GB","display":"10 GB"},{"key":"egress_gb","label":"Free egress","value":"30 GB/mo","display":"30 GB/mo"},{"key":"class_a_ops","label":"Write ops","value":"β","display":"β"}],"url":"https://www.backblaze.com/cloud-storage"}},{"slug":"storj","headline":"Distributed storage with a no-card path","description":"Storj is the storage pick for applications where decentralized durability and S3-compatible storage are part of the value proposition. Accounts without a payment method get 25 GB of storage and 25 GB of egress per month with no monthly fee and no credit card required. The trade-off is that the free tier uses shared infrastructure, so it suits non-critical assets and archival more than hot production data.","whyChips":["25 GB storage","25 GB egress","No card"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"storj","title":"Storj","provider":"Storj","planName":"freemium","logo":"/logos/paid-storj.png","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Accounts without a payment method get 25 GB of storage and 25 GB of egress per month with no monthly fee and no credit card required.","keyMetrics":[{"key":"storage_gb","label":"Storage","value":"25 GB","display":"25 GB"},{"key":"egress_gb","label":"Free egress","value":"25 GB/mo","display":"25 GB/mo"}],"url":"https://www.storj.io"}}],"hero":{"slug":"cloudflare-r2-standard","headline":"The zero-egress object storage default","description":"Cloudflare R2 is the hero storage pick because it removes the cost developers fear most: egress to the public internet is free at every tier. The free tier includes 10 GB-months of storage, 1 million Class A operations and 10 million Class B operations per month. The S3-compatible API means existing tooling migrates without rewrite, and pairing with Cloudflare Workers keeps agent artifacts close to the compute that processes them.","whyChips":["$0 egress","10 GB storage","1M ops/mo write ops"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"cloudflare-r2-standard","title":"Cloudflare R2","provider":"Cloudflare R2","planName":"freemium","logo":"/logos/cloudflare-r2-infrequent-access.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free 10 GB stored + 1M Class A ops + 10M Class B ops each month, with ZERO egress fees and no minimum retention; beyond the free tier storage is $0.015/GB-month.","keyMetrics":[{"key":"egress_gb","label":"Egress","value":"$0 egress","display":"$0 egress"},{"key":"storage_gb","label":"Storage","value":"10 GB","display":"10 GB"},{"key":"class_a_ops","label":"Write ops","value":"1 M ops/mo","display":"1 M ops/mo"}],"url":"https://developers.cloudflare.com/r2/pricing/"}},"nominations":[{"slug":"tigris","label":"Zero egress","description":"Tigris gives S3-standard storage with 5 GB per month free, 10,000 Class A and 100,000 Class B requests free, and zero egress fees across all tiers. It is a clean pick when you want S3 compatibility without bandwidth bills, especially for data-intensive agent workloads that read more than they write.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"tigris","title":"Tigris Data","provider":"Tigris Data","planName":"freemium","logo":"/logos/tigris.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"5GB of Standard storage/month free, 10,000 Class A requests/month free, 100,000 Class B requests/month free, and zero egress fees on all tiers.","keyMetrics":[{"key":"storage_gb","label":"Storage","value":"5 GB","display":"5 GB"},{"key":"egress_gb","label":"Free egress","value":"β","display":"β"},{"key":"class_b_ops","label":"Read ops","value":"0.1 M ops/mo","display":"0.1 M ops/mo"}],"url":"https://www.tigrisdata.com/pricing/"}},{"slug":"telnyx-cloud-storage","label":"Most free GB","description":"Telnyx Cloud Storage includes 10 GiB of storage, 1 million state-change write operations, and 10 million state-read operations per month, all with no egress fees. The quota is unusually generous among the conditional-free tiers, making it a practical choice for agent apps that accumulate media or document assets.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"telnyx-cloud-storage","title":"Telnyx Cloud Storage","provider":"Telnyx Cloud Storage","planName":"freemium","logo":"/logos/paid-telnyx-cloud-storage.png","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"10 GiB of storage, 1 million state-change (write) operations, and 10 million state-read operations per month, with no egress fees.","keyMetrics":[{"key":"storage_gb","label":"Storage","value":"10 GB","display":"10 GB"},{"key":"egress_gb","label":"Free egress","value":"β","display":"β"},{"key":"class_a_ops","label":"Write ops","value":"1 M ops/mo","display":"1 M ops/mo"}],"url":"https://telnyx.com/products/cloud-storage"}}],"paidPicks":[]},"workspaces":{"collection":"infrastructure","category":"workspaces","updatedAt":"2026-07-10","intro":"Team workspaces, docs, and knowledge tools with free plans for agent project management.","picks":[{"slug":"grist","headline":"The relational database workspace","description":"Grist is the hero workspace pick because it is a spreadsheet-database hybrid that non-engineers can use fluently and engineers can extend with Python. The Cloud Free plan allows unlimited members and 2 guests per doc with 1 GB attachment storage per doc, and self-hosting is free for individuals and orgs with under $1M annual income. That combination makes it a durable, self-hostable foundation for agent-run projects where the output is structured data rather than documents.","whyChips":["Unlimited members","1 GB attachments","Self-hostable"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"grist","title":"Grist","provider":"Grist","planName":"freemium","logo":"/logos/grist.png","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Cloud Free plan: unlimited members, 2 guests per doc, 1 GB attachment storage per doc. Self-hosting is $0 for individuals and orgs with under $1M total annual income (free activation key).","keyMetrics":[{"key":"workspace_content_api_access","label":"Content","value":"4 level","display":"4 level"},{"key":"workspace_collaboration_seats","label":"Seats","value":"5 level","display":"5 level"},{"key":"workspace_automation_integration_readiness","label":"Auto","value":"4 level","display":"4 level"}],"url":"https://www.getgrist.com/"}},{"slug":"clickup","headline":"Best broad free team workspace","description":"ClickUp is the side pick because its Free Forever plan covers tasks, docs, whiteboards, and common project views in one place. It is broad enough to act as a lightweight operating system for a small project team, with collaborative docs, list and board views, and real-time collaboration all included without a credit card. The storage cap of 60 MB is the honest trade-off.","whyChips":["Tasks + docs","Unlimited members","No card"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"clickup","title":"ClickUp","provider":"ClickUp","planName":"freemium","logo":"/logos/clickup-business.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free Forever plan: unlimited tasks and unlimited free-plan members with collaborative Docs, whiteboards, and list/board/calendar views, capped at 60 MB of file storage, 5 Spaces, and 100 uses of advanced features.","keyMetrics":[{"key":"workspace_content_api_access","label":"Content","value":"4 level","display":"4 level"},{"key":"workspace_collaboration_seats","label":"Seats","value":"5 level","display":"5 level"},{"key":"workspace_automation_integration_readiness","label":"Auto","value":"3 level","display":"3 level"}],"url":"https://clickup.com"}},{"slug":"nuclino","headline":"Fast wiki-style team knowledge","description":"Nuclino is the side pick for teams that want a fast, no-clutter shared wiki with real-time collaboration and visual graph navigation, all free for unlimited users with up to 50 items and 2 GB total storage. The hard item cap of 50 means it fits small teams and focused projects rather than large knowledge bases, but for agent-assisted research and documentation it is a clean tool.","whyChips":["Unlimited users","2 GB storage","Real-time collab"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"nuclino","title":"Nuclino","provider":"Nuclino","planName":"freemium","logo":"/logos/nuclino-business.png","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Free forever for unlimited users with up to 50 items (docs/pages) and 2 GB total storage, including real-time collaboration, all views, and 30-day version history.","keyMetrics":[{"key":"workspace_content_api_access","label":"Content","value":"4 level","display":"4 level"},{"key":"workspace_collaboration_seats","label":"Seats","value":"5 level","display":"5 level"}],"url":"https://www.nuclino.com"}}],"hero":{"slug":"grist","headline":"The relational database workspace","description":"Grist is the hero workspace pick because it is a spreadsheet-database hybrid that non-engineers can use fluently and engineers can extend with Python. The Cloud Free plan allows unlimited members and 2 guests per doc with 1 GB attachment storage per doc, and self-hosting is free for individuals and orgs with under $1M annual income. That combination makes it a durable, self-hostable foundation for agent-run projects where the output is structured data rather than documents.","whyChips":["Unlimited members","1 GB attachments","Self-hostable"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"grist","title":"Grist","provider":"Grist","planName":"freemium","logo":"/logos/grist.png","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Cloud Free plan: unlimited members, 2 guests per doc, 1 GB attachment storage per doc. Self-hosting is $0 for individuals and orgs with under $1M total annual income (free activation key).","keyMetrics":[{"key":"workspace_content_api_access","label":"Content","value":"4 level","display":"4 level"},{"key":"workspace_collaboration_seats","label":"Seats","value":"5 level","display":"5 level"},{"key":"workspace_automation_integration_readiness","label":"Auto","value":"4 level","display":"4 level"}],"url":"https://www.getgrist.com/"}},"nominations":[{"slug":"cryptpad","label":"Encrypted","description":"CryptPad is the nomination for teams that need end-to-end encryption as a first-class property β the server and operator cannot read stored documents. A free registered account gives 1 GB of encrypted storage across all apps (docs, sheets, slides, code, kanban, forms, whiteboard, calendar) with real-time collaboration. Per-file uploads are capped at 25 MB on the free plan.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"cryptpad","title":"CryptPad","provider":"CryptPad","planName":"freemium","logo":"/logos/cryptpad.png","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Free registered account on cryptpad.fr gives 1 GB of end-to-end-encrypted storage with full access to every app (docs, sheets, slides, code/markdown, kanban, forms, whiteboard, calendar), real-time collaboration, teams, and shared folders, with per-file uploads capped at 25 MB.","keyMetrics":[{"key":"workspace_content_api_access","label":"Content","value":"3 level","display":"3 level"},{"key":"workspace_collaboration_seats","label":"Seats","value":"1 level","display":"1 level"}],"url":"https://cryptpad.fr/"}},{"slug":"affine","label":"Open-source","description":"AFFiNE is the nomination for teams that want a FOSS-leaning, local-first workspace with a Notion + Miro hybrid feature set. The free cloud plan includes unlimited local workspaces, 10 GB cloud storage, and up to 3 members per workspace, and the MIT-licensed FOSS edition is fully self-hostable β which means agent data never needs to leave the team's own infrastructure.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"affine","title":"AFFiNE","provider":"AFFiNE","planName":"freemium","logo":"/logos/affine.png","pricingModel":"freemium","accessBucket":"free","freeLimitText":"Free forever: unlimited local workspaces, 10 GB cloud storage, up to 3 members per workspace, 7-day cloud version history. FOSS edition fully self-hostable under MIT.","keyMetrics":[{"key":"workspace_content_api_access","label":"Content","value":"3 level","display":"3 level"},{"key":"workspace_collaboration_seats","label":"Seats","value":"2 level","display":"2 level"}],"url":"https://affine.pro/"}}],"paidPicks":[]},"domains":{"collection":"infrastructure","category":"domains","updatedAt":"2026-07-10","intro":"Free DNS, dynamic DNS, and provider subdomain options for agent-accessible hostnames.","picks":[{"slug":"duckdns","headline":"Simple dynamic DNS for free subdomains","description":"Duck DNS is the hero domain pick because it is the lowest-friction way to get a public hostname that tracks a changing home or office IP address. Token-based updates mean the update script can live in a router, a small device, or an agent cron without storing credentials in plaintext. The trade-off is that you only get *.duckdns.org subdomains β no custom apex domains β and login options have narrowed over time.","whyChips":["No card","Token updates","Free subdomain"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"duckdns","title":"Duck DNS","provider":"Duck DNS","planName":"free_forever","logo":"/logos/duckdns.png","pricingModel":"free_forever","accessBucket":"free","freeLimitText":"Free: multiple *.duckdns.org subdomains with token-based dynamic IP updates.","keyMetrics":[{"key":"free_domains","label":"Free domains","value":"5 domains","display":"5 domains"},{"key":"ddns_update_interval","label":"DDNS refresh","value":"5 min","display":"5 min"}],"url":"https://www.duckdns.org/"}},{"slug":"cloudns","headline":"Feature-rich free DNS","description":"ClouDNS is the side pick for developers who want more than basic A records from their free DNS provider. The Free Forever plan includes 1 DNS zone, 50 DNS records, 500,000 DNS queries per month on 4 unicast nameservers, plus 1 mail forward and 1 dynamic DNS hostname. That quota handles personal projects and small services without immediately hitting limits.","whyChips":["1 zone free","500k queries/mo","Dynamic DNS"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"cloudns","title":"ClouDNS","provider":"ClouDNS","planName":"freemium","logo":"/logos/cloudns-ddos-protected-s.png","pricingModel":"freemium","accessBucket":"conditional","freeLimitText":"Free Forever: 1 DNS zone, 50 DNS records, 500,000 DNS queries/month on 4 unicast nameservers, plus 1 mail forward and 1 dynamic DNS hostname.","keyMetrics":[{"key":"free_domains","label":"Free domains","value":"1 domains","display":"1 domains"}],"url":"https://www.cloudns.net/"}},{"slug":"dynv6","headline":"Unlimited free hosts with DNSSEC","description":"dynv6 is the side pick for self-hosters and home-lab users who want free public hostnames under dynv6.net, dns.army, or v6.rocks with full DNS record management and DNSSEC at no cost. The service is entirely free for private use with unlimited hosts, which makes it practical for agent fleets and IoT setups where each instance needs its own resolvable hostname.","whyChips":["Unlimited hosts","DNSSEC","No card"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"dynv6","title":"dynv6","provider":"dynv6","planName":"free_forever","logo":"/logos/dynv6.png","pricingModel":"free_forever","accessBucket":"free","freeLimitText":"Completely free for private use: unlimited hosts with freely chosen names under dynv6.net/dns.army/v6.rocks etc. (or delegate your own domain), with full DNS record management and DNSSEC at no cost.","keyMetrics":[{"key":"free_domains","label":"Free domains","value":"β","display":"β"}],"url":"https://dynv6.com/"}}],"hero":{"slug":"duckdns","headline":"Simple dynamic DNS for free subdomains","description":"Duck DNS is the hero domain pick because it is the lowest-friction way to get a public hostname that tracks a changing home or office IP address. Token-based updates mean the update script can live in a router, a small device, or an agent cron without storing credentials in plaintext. The trade-off is that you only get *.duckdns.org subdomains β no custom apex domains β and login options have narrowed over time.","whyChips":["No card","Token updates","Free subdomain"],"verified":{"verifiedAt":"2026-07-10","confidence":"high"},"offer":{"slug":"duckdns","title":"Duck DNS","provider":"Duck DNS","planName":"free_forever","logo":"/logos/duckdns.png","pricingModel":"free_forever","accessBucket":"free","freeLimitText":"Free: multiple *.duckdns.org subdomains with token-based dynamic IP updates.","keyMetrics":[{"key":"free_domains","label":"Free domains","value":"5 domains","display":"5 domains"},{"key":"ddns_update_interval","label":"DDNS refresh","value":"5 min","display":"5 min"}],"url":"https://www.duckdns.org/"}},"nominations":[{"slug":"sslip-io","label":"No signup","description":"sslip.io resolves any IP-embedded hostname instantly with no account and no credit card β for example, 192-168-0-1.sslip.io resolves to 192.168.0.1. It is the nomination for developers who need valid hostnames with built-in TLS certificates for local servers, Kubernetes ingress, and demos without registering a domain at all.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"sslip-io","title":"sslip.io","provider":"sslip.io","planName":"free_forever","logo":"/logos/sslip-io.png","pricingModel":"free_forever","accessBucket":"free","freeLimitText":"Unlimited resolution of any IPv4/IPv6-embedded hostname (e.g. 192-168-0-1.sslip.io) at no cost, with no account and no card; optional self-hosted branded subdomains via NS delegation.","keyMetrics":[{"key":"free_domains","label":"Free domains","value":"β","display":"β"}],"url":"https://sslip.io/"}},{"slug":"pages-dev","label":"Free subdomains","description":"Cloudflare pages.dev is the nomination for frontend-focused agent deployments where the agent's output is a static site or web app. It provides a free *.pages.dev subdomain with automatic TLS and global CDN, requiring nothing more than a GitHub repository connection.","verified":{"verifiedAt":"2026-07-10","confidence":"high"},"icon":"medal","offer":{"slug":"pages-dev","title":"Cloudflare pages.dev","provider":"Cloudflare pages.dev","planName":"free_forever","logo":"/logos/cloudflare.svg","pricingModel":"free_forever","accessBucket":"free","freeLimitText":"Free provider subdomain.","keyMetrics":[{"key":"free_domains","label":"Free domains","value":"β","display":"β"},{"key":"dns_records","label":"DNS records","value":"β","display":"β"}],"url":"https://developers.cloudflare.com/pages/"}}],"paidPicks":[]}},"partial":true}