specification: API Commons Rate Limits specificationVersion: '0.1' schema: https://raw.githubusercontent.com/api-evangelist/interface-research/main/schema/api-commons.yml#/$defs/RateLimits provider: Apple Keynote providerId: apple-keynote created: '2026-05-04' # Provenance stamped 2026-08-11: this artifact was written by the API Evangelist # bulk sweep dated 2026-05-04, not harvested from the provider. See roadmap#35. method: generated modified: '2026-05-05' reconciled: false tags: - Rate Limiting - Apple - iCloud - Automation description: Apple does not publish rate limits for Keynote's local automation surfaces (AppleScript, JavaScript for Automation, Shortcuts) or for the internal iCloud Keynote web endpoints. Local automation is bounded only by host machine performance and the application's command processing. Cloud sync uses iCloud Drive and is subject to whatever fairness throttling Apple's iCloud infrastructure applies, but these are not documented as numeric limits. notes: No public numeric rate limits exist; Keynote APIs are largely on-device or internal. sources: - https://developer.apple.com/library/archive/documentation/AppleApplications/Conceptual/KeynoteScriptingGuide/ - https://www.icloud.com/keynote responseCodes: throttled: 429 serviceUnavailable: 503 limits: - name: AppleScript / JXA command rate scope: process metric: varies limit: bounded by host notes: No application-layer rate limit; bounded by Apple Events queue and Keynote command processing. - name: Shortcuts action invocations scope: device metric: varies limit: bounded by Shortcuts runtime - name: iCloud Keynote web endpoints scope: account metric: varies limit: not publicly documented notes: Internal iCloud web endpoints for icloud.com/keynote are subject to Apple's standard iCloud fairness throttling, but no numeric ceiling is published. - name: iCloud Drive sync operations scope: account metric: varies limit: not publicly documented policies: - name: Backoff Strategy description: Implement exponential backoff on any iCloud retry; honor Retry-After when present. - name: Keep Sessions Open description: For AppleScript/JXA loops, keep the Keynote application open and reuse existing references rather than re-launching the app per command. - name: Avoid Polling description: Prefer event-driven Shortcuts triggers over busy-loop polling against documents stored in iCloud Drive. maintainers: - FN: Kin Lane email: kin@apievangelist.com