Skip to content

Pyas vs. Apiroc: Unified Calendar API vs. Calendar API with Verified OAuth

Facts checked on October 29, 2026 against Apiroc's own pricing page and docs. Tell us if they change and we will update this page.

TL;DR

  • Core difference: Both are calendar-only APIs with no email, contacts or booking pages. Apiroc reaches more providers and asks you to bring your own Google and Microsoft apps in production. Pyas reaches fewer providers and handles sign-in, free time across people and Teams and Zoom links for you.
  • Price: Apiroc costs less from about 20 to 150 connected accounts: $25 for 50 and $50 for 100, against $45 and $75 on Pyas. Both cost $75 at 150. Above that Pyas costs less: $75 vs. $100 at 200, $150 vs. $250 at 500, $275 vs. $500 at 1,000.
  • Google's review: Apiroc's docs say "For production, you must provide your own app credentials," so you register a Google app, pass Google's OAuth verification for calendar access and register a Microsoft app before real users connect. With Pyas Auth, on every plan, users approve Pyas on Google's, Microsoft's and Zoom's own consent screens and you skip Google's review.
  • Providers: Apiroc covers Google, Microsoft Outlook, Apple iCloud and CalDAV servers such as Fastmail, Yahoo, Zoho and Nextcloud. Pyas covers Google Calendar, Microsoft 365 and Outlook.com, plus Zoom for meeting links. If your users are on iCloud or CalDAV, Apiroc is the one that can serve them.
  • Building and testing: Apiroc has a Sandbox mode, a Node.js SDK and a Postman collection, with Python, PHP and Java SDKs announced. Pyas has a sandbox with simulated Google, Outlook and Zoom accounts and sample calendars, a TypeScript SDK with Python, PHP, Ruby and Go SDKs planned, a CLI, a connect dialog for your page and a hosted MCP server.
  • Who should pick which: Pick Apiroc if you need iCloud or CalDAV, already run your own verified Google app, or sit between 20 and 150 accounts. Pick Pyas if you want Google and Outlook users live without Google's review, need common free time or Teams and Zoom links, or expect several hundred accounts.

What you pay as you grow

Connected accountsApiroc, monthly list pricePyas, monthly
10$25
Pro (the free plan is not for production)
$15
Starter
35$25
Pro (the free plan is not for production)
$45
Growth
60$30
Pro, 50 + 10 extra
$45
Growth
100$50
Pro, 50 + 50 extra
$75
Growth, 60 + 40 extra
200$100
Pro, 50 + 150 extra
$75
Scale
500$250
Pro, 50 + 450 extra
$150
Scale, 200 + 300 extra

Apiroc: free for up to 10 accounts, not for production use; Pro at $25 a month for 50 accounts, then $0.50 each; Enterprise by quote. onecal.io/unified-calendar-api now redirects to apiroc.com. Pyas: see pricing. Neither column includes tax.

Feature by feature

ApirocPyas
Sign-in through the vendor's verified appsSandbox mode only; production needs your own appsGoogle, Microsoft and Zoom, every plan
200 accounts$100 a month (Pro)$75 a month, billed monthly
Free plan in productionNoYes, 3 accounts, no time limit
Free time across several peopleNo; free/busy covers one account per requestYes, across Google and Outlook in one call
Meeting linksGoogle Meet documented; Teams and Zoom not documentedMeet, Teams and Zoom, one field; Zoom on the host's connected Zoom account
Building without real calendarsSandbox mode; no sample calendars documentedSandbox with simulated Google, Outlook and Zoom accounts and sample calendars
Connect UIA redirect to each provider's sign-inPyasConnect dialog for React, Vue, Angular or HTML
WebhooksA change signal; your app syncsSigned; the exact event's IDs, and your app reads the event
MCP serverNot documentedHosted at mcp.pyas.io, added by URL with sign-in; also runs locally, with a read-only mode
Google Calendar and Outlook, Outlook.com includedYesYes
iCloud and CalDAVYesNo
SDKsNode.jsTypeScript (Node.js); Python, PHP, Ruby and Go planned

"Not documented" means the vendor's own docs don't say, after a search. Sources are listed at the end of the page.

The core difference

Apiroc and Pyas sit in the same narrow category. Both are calendar APIs and nothing else: no email, no contacts, no booking pages. Apiroc says it on its own site: "Apiroc does one thing: a unified calendar API." Pyas could say the same. Apiroc was formerly OneCal's Unified Calendar API, and the old onecal.io address now redirects to apiroc.com.

The choice comes down to three differences.

Providers. Apiroc connects Google Calendar, Microsoft Outlook, Apple iCloud and any CalDAV server. Pyas connects Google Calendar, Microsoft 365 and Outlook.com, plus Zoom for meeting links.

Sign-in. In production, Apiroc requires your own Google and Microsoft app credentials, which puts Google's OAuth verification for calendar access on you. With Pyas Auth, on every plan including the free one, your users approve Pyas on Google's, Microsoft's and Zoom's own consent screens, and Google, Microsoft and Zoom have already verified it.

What sits on top of the events. Pyas adds common free time across several people, Teams and Zoom links, a connect dialog that runs in your page and a hosted MCP server. Apiroc's docs cover free/busy one account at a time and Google Meet links.

Price is a fourth, and it cuts both ways, as the price table above shows.

When Apiroc is the right choice

Your users are on iCloud or a CalDAV server. Apiroc connects Apple iCloud through an app-specific password and lists "CalDAV (Fastmail, Yahoo, Zoho, Nextcloud and any other CalDAV server)." Pyas does not connect any of them.

You already run your own verified Google app. Apiroc needs your credentials in production anyway. If you have been through Google's review already, or want your own name on the consent screen from day one, that costs you nothing new.

You expect between about 20 and 150 connected accounts. In that range Apiroc's Pro plan costs less than Pyas: $25 a month covers 50 accounts, and 100 accounts cost $50. Pyas costs $45 at 50 and $75 at 100.

When Pyas is the right choice

Your users are on Google and Microsoft, and you want to ship before Google's review would finish. Pyas Auth is on every plan, the free one included. You build, connect real users and go live without registering a Google app.

You are building scheduling across people. Pyas answers free/busy for up to 20 accounts in one call, and its meeting times call returns the first times everyone is free inside their working hours, with buffers, minimum notice, optional attendees and rooms, across Google and Outlook together. See free/busy across Google and Outlook.

Your users expect Teams or Zoom links. One field, conferencing, creates Google Meet on Google, Teams on Microsoft 365 work accounts and Zoom on any calendar through the host's connected Zoom account. Pyas creates the Zoom meeting itself. See the Zoom API page.

You expect several hundred accounts or more. At 200 accounts Pyas costs $75 and Apiroc $100. At 1,000 it is $275 against $500. See pricing.

Who handles Google's review

Apiroc's providers page is direct about it: "For production, you must provide your own app credentials." Apiroc's own Google and Microsoft credentials work only in Sandbox mode. In production, users approve your own apps.

That has a real benefit: your product's name is on the consent screen. It also has a cost. Google reviews apps that ask for calendar access before it lets them out to the general public, and until that review passes, users see a warning and you are limited in who can sign in. Our guide on Google OAuth verification for calendar apps covers what it involves. On the Microsoft side you register an app in Microsoft's portal and manage its credentials.

With Pyas Auth, users approve Pyas on Google's, Microsoft's and Zoom's own consent screens. Google, Microsoft and Zoom have already verified it, so you skip Google's review. The consent screen shows Pyas rather than your product. If that matters to you, Native Auth lets you use your own Google or Microsoft app instead, per provider, so you can start on Pyas Auth and switch once your own review is done.

Microsoft's default consent policy can still require a Microsoft 365 administrator to approve calendar access. That is true with Pyas Auth and with your own app on Apiroc. See Outlook needing admin approval.

What Apiroc does well

Provider reach. Apiroc covers "Microsoft Outlook (including Office 365, Exchange, and Outlook.com)" according to its site, plus Google, iCloud and CalDAV.

Clear, low pricing in the middle. $25 a month for 50 accounts and $0.50 per account after that, on a short published pricing page, is cheap for a product with a few dozen to a hundred or so users. The Free plan gives you 10 accounts for "Non-production use."

A sync model that does not drop changes. A webhook payload carries eventType, calendarId and timestamp, and "does not include the full event details." Your app then syncs with a syncToken. As long as you keep the token, you will not miss a change, and one code path handles every kind of change.

A way to try it before you register apps. Sandbox mode works with Apiroc's own Google and Microsoft credentials, so you can see real calendars flow through before you set up your own apps.

SDK and tooling. Apiroc has an "official SDK for Node.js" and says "SDKs for Python, PHP, and Java are on the way." It also publishes a Postman collection. It has DPA and sub-processor pages.

Where Pyas is different

Common free time. Apiroc's free/busy endpoint takes one end user account per request (POST /v1/freeBusy/:endUserAccountId), and its docs show no endpoint for common free time across people. Finding a slot for five people means five calls and your own intersection logic. Pyas does it in one call, with working hours and buffers applied.

Meeting links. Apiroc's events docs document Google Meet through generateMeetingUrlProvider. Teams and Zoom are not documented in its docs, and "Apple Calendar and CalDAV events will not include conferenceData." Pyas creates Meet, Teams and Zoom links through one field. Teams is refused with a clear error on Outlook.com personal accounts. See meeting links for Meet, Teams and Zoom.

Webhooks that name what changed. Each Pyas webhook names the exact event or calendar that changed by its IDs, and your app reads it. Webhooks are signed, retried up to 8 attempts and replayable. Pyas keeps Google push channels and Microsoft Graph subscriptions renewed, and it does not store copies of your users' events. See calendar webhooks and push subscriptions.

Connecting users. Apiroc's authentication docs redirect each user to the provider's OAuth flow, and for CalDAV your app collects the server address. There is no hosted picker or component. PyasConnect is a dialog that runs in your own page, for React, Vue, Angular or plain HTML, backed by a one-line session endpoint with the SDK.

Account health. Each account reports its status, why it broke and the fix, with a connection.broken webhook. The user reconnects inside your app with PyasConnect and keeps the same accountId.

Event details. Every event carries UTC plus local time and its IANA time zone. Every write takes an idempotency key, and version checks (If-Match) refuse conflicting updates.

Testing. Apiroc has Sandbox mode, but sample data is not documented in its docs. Every Pyas app has a sandbox with simulated Google, Outlook and Zoom accounts, sample people and real-looking calendars, reached with test keys that never touch a real calendar. The CLI streams sandbox webhooks to your laptop.

AI agents. An MCP server is not documented in Apiroc's docs. Pyas has a hosted MCP server, and @pyas/ai-tools covers the Vercel AI SDK, LangChain, OpenAI and Anthropic tool use. Pyas runs no AI models itself. See calendars for AI agents.

Free plan in production. Pyas's Developer plan is free for 3 connected accounts and can run in production. Apiroc's Free plan has more accounts but is for non-production use.

Can you use both?

For the same users, no. Both read and write the same Google and Outlook calendars, so a second integration adds nothing.

There is one split that can make sense: Pyas for your Google and Outlook users and Apiroc for your iCloud and CalDAV users. You would then maintain two event shapes, two webhook models and two connect flows. Pyas's meeting times would not see anyone connected through Apiroc. It is only worth it if iCloud or CalDAV users are a large group and you depend on something Pyas does for the rest. Most teams should pick one.

Questions to ask before you choose

  • How many of your users are on iCloud or a CalDAV server? If the answer is more than a few, Apiroc.
  • Do you already have a verified Google app? If yes, Apiroc's requirement costs you little, and Pyas's Native Auth can use the same app. If no, Pyas Auth lets you go live without one.
  • Do you need to find a time across several people? Pyas has it in one call. With Apiroc you would build it on per-account free/busy.
  • Which meeting links do your users expect? For Meet only, both work. For Teams or Zoom, Pyas documents them and Apiroc's docs do not.
  • How many accounts will you have in a year? Between about 20 and 150, Apiroc costs less. Above 150, Pyas does.
  • What language is your backend in? Both have a Node.js SDK today, and both have more on the way: Apiroc has Python, PHP and Java announced, and Pyas has Python, PHP, Ruby and Go SDKs planned. Any language can call either REST API meanwhile.

Moving from Apiroc to Pyas

  1. Check your provider mix first. Pyas cannot connect your iCloud or CalDAV users, so decide what they get before you start.
  2. Build against the sandbox. Use test keys in the sandbox and get events, free time and meeting links working against simulated accounts first.
  3. Add PyasConnect. Users reconnect once through PyasConnect. Their events stay in Google and Outlook, so there is no event data to move.
  4. Decide on sign-in. You already have your own Google and Microsoft apps from Apiroc. You can keep them with Native Auth so the consent screen still shows your name, or use Pyas Auth and retire them.
  5. Map your webhook handling. On Apiroc, a webhook says a calendar changed, and you sync with a stored syncToken. On Pyas, the webhook names the event or calendar by ID, and you read that object. You can drop the sync token storage, verify the webhook signature and add a handler for connection.broken.
  6. Swap the meeting link and free/busy calls. generateMeetingUrlProvider becomes conferencing. Loops over per-account free/busy can become a single meeting times call.

Looking for an Apiroc alternative?

Start with what is not working, since the right alternative depends on which part you want to change.

If you do not want to go through Google's review

This is the most common reason teams with Google and Outlook users look elsewhere. Pyas Auth, on every plan, lets you skip the review, and Native Auth moves you to your own app one provider at a time when you are ready. See the Google Calendar API and Outlook Calendar API pages.

If you are building scheduling across people

When a meeting has several attendees, common free time is the hard part. Pyas's meeting times call does it across Google and Outlook in one request. See the calendar API and use cases pages.

If your costs grow with accounts

Apiroc stays cheaper up to about 150 accounts. Past that, Pyas's Scale plan ($75 for 200 accounts, then $0.25 each) costs $150 against $250 at 500 accounts and $275 against $500 at 1,000.

If AI agents are part of the product

Pyas's hosted MCP server at mcp.pyas.io is added by URL with sign-in, and @pyas/mcp runs the same server locally with a read-only mode.

Other options

  • Nylas: see how Pyas compares.
  • Cronofy: see how Pyas compares.
  • Unipile: see how Pyas compares.
  • Aurinko: see how Pyas compares.
  • Building it yourself with the official Google Calendar API and Microsoft Graph. You own everything: Google's review, Microsoft's app registration, two event shapes, push channel and subscription renewal, and time zone handling.

The bottom line

Apiroc and Pyas solve the same problem for the same kind of buyer. Apiroc reaches iCloud and CalDAV and costs less between about 20 and 150 accounts, but production means bringing your own Google and Microsoft apps and getting through Google's review. Pyas covers Google, Microsoft 365, Outlook.com and Zoom, lets you go live without Google's review, finds common free time, creates Teams and Zoom links and costs less once you pass 150 accounts. If your users are on Google and Outlook and you want to ship without the review, try Pyas in the sandbox.

Questions

Is Pyas an Apiroc alternative?
Yes, for products whose users are on Google Calendar, Microsoft 365 or Outlook.com. Both are calendar-only APIs with one event shape across providers. Apiroc also connects iCloud and CalDAV.
How much does Apiroc cost?
Apiroc's Free plan covers 10 end user accounts for non-production use. Pro is $25 a month for 50 accounts, then $0.50 per account, so 100 accounts cost $50 and 1,000 cost $500. Enterprise is priced by quote.
Is Apiroc the same as OneCal's Unified Calendar API?
Yes. Apiroc was formerly OneCal's Unified Calendar API, and onecal.io/unified-calendar-api now redirects to apiroc.com. The product is sold under the Apiroc name.
Do I need my own Google app to use Apiroc?
In production, yes. Apiroc's docs say "For production, you must provide your own app credentials," and its own Google and Microsoft credentials work only in Sandbox mode. That means going through Google's OAuth verification for calendar access yourself. With Pyas Auth you do not, and Native Auth lets you switch to your own app later if you want your name on the consent screen.
Can Apiroc create Teams or Zoom meeting links?
Apiroc's docs describe a single field, generateMeetingUrlProvider, and document Google Meet. Teams and Zoom are not documented in its docs. Pyas creates Google Meet, Teams (on Microsoft 365 work accounts) and Zoom links through one field, conferencing.
Does Pyas support iCloud or CalDAV like Apiroc?
No. Pyas connects Google Calendar, Microsoft 365 and Outlook.com, plus Zoom for meeting links. It does not connect iCloud, CalDAV, Yahoo or on-premises Exchange. Apiroc connects iCloud with an app-specific password and any CalDAV server.