On this page
Overview
Apollo iOS is a GraphQL client for Swift. It generates models from schemas and operations and provides type-safe queries and mutations, in-memory or SQLite normalized caches, and optional WebSocket support across Apple platforms.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Generate Swift models from GraphQL schemas and operations
Code generation converts GraphQL schemas and operations into Swift types so applications can implement queries and mutations without hand-writing response models.
Sources: [2]
Use ApolloClient and normalized caches for network and local GraphQL data
ApolloClient is the main entry point around a NetworkTransport and ApolloStore. Its convenience initializer configures an in-memory normalized cache, while ApolloSQLite and ApolloWebSocket are available as additional package products.
Best fit
Fits iOS applications that want schema-driven networking, models, and caching
It is useful when GraphQL query models, cache policies, and networking should share one schema-driven toolchain across Apple platforms.
Sources: [2]
Before adoption
Version 2.4.0 requires Swift tools 6.1 and iOS 15+
Package.swift uses Swift 6 mode and declares iOS 15, macOS 12, tvOS 15, watchOS 8, and visionOS 1 as minimums. Version 2.4.0 also improves DatabaseRow visibility for custom SQLiteDatabase wrappers and capitalization rules in generated operation types, so projects with custom cache or codegen settings should inspect generated diffs.
Official sources
- [1]ApolloGraphQL/apollo-ios — GitHub repository(2026-10-06)
- [2]Apollo iOS 2.4.0 — README(2026-10-06)
- [3]ApolloClient 2.4.0 source(2026-10-06)
- [4]Apollo iOS 2.4.0 — Package.swift(2026-10-06)
- [5]Apollo iOS 2.4.0 release(2026-10-06)
- [6]Apollo iOS MIT license(2026-10-06)
Supplemental curator note
Apollo iOS fits applications that want GraphQL schemas to drive network models, queries, and caching. Version 2.4.0 requires Swift 6.1 tooling and iOS 15+, so check the project toolchain and deployment target.
Try it in 3 steps
- 1
Add Apollo iOS 2.4.0 with SwiftPM
Pin the reviewed release. Apollo iOS 2.4.0 requires iOS 15+ and Swift tools 6.1.
.package(url: "https://github.com/apollographql/apollo-ios.git", exact: "2.4.0") - 2
Link the Apollo product to the app target
Add the Apollo product to targets that construct and use ApolloClient.
.product(name: "Apollo", package: "apollo-ios") - 3
Create an ApolloClient for the GraphQL endpoint
Use the convenience initializer to get the default network transport and in-memory normalized cache.
import Apollo let client = ApolloClient(url: URL(string: "https://example.com/graphql")!)
Growth
Growth trends · Last 30 days
4,037 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 4
- Open PRs
- 0
Development activity is still being collected.
Built with
Categories and tags
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- swift
- graphql-client
- apollo-ios
- ios
- graphql
- apollographql
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Alamofire42,405 Stars
2 shared tag(s) · 3 shared category(s) · Same language
build Swift HTTP networking on URLSession with concise requests, retries, uploads, downloads, and TLS pinning
Swift - Swift Async Algorithms3,713 Stars
2 shared tag(s) · 2 shared category(s) · Same language
add merge, combineLatest, debounce, throttle, and other time/order algorithms to AsyncSequence
Swift - Moya15,353 Stars
4 shared tag(s) · 3 shared category(s) · Same language
define API endpoints as typed targets and unify networking, stubs, and plugins
Swift - Nuke8,676 Stars
4 shared tag(s) · 2 shared category(s) · Same language
load, process, and cache remote images through ImagePipeline for SwiftUI and UIKit
Swift - SDWebImage25,612 Stars
4 shared tag(s) · 2 shared category(s)
manage UIKit network images with asynchronous downloads and memory/disk caching
Objective-C - Lottie for iOS26,894 Stars
3 shared tag(s) · 2 shared category(s) · Same language
render After Effects JSON and .lottie vector animations natively on Apple platforms
Swift
Report incorrect information
Tell us if any listing information is incorrect or outdated.