- security - preventing abuse - API Anti-Corruption Layer - sanitizing inputs and outputs - i.e. not exposing DB IDs/PKs, or pagination cursors directly - versioning, backward- and forward- compatibility, deprecation strategy - usability, DX, Documentation - reducing bandwidth use: - caching - eliminate over-fetching - efficient wire format