On this page
Overview
Alamofire is an HTTP networking library for Swift built on Apple's URLSession. It provides a consistent API for requests and responses, Swift Concurrency, parameter encoding, uploads and downloads, retry policies, validation, authentication, and TLS certificate or public-key pinning.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Compose requests, validation, and Decodable responses with a chainable API
HTTP requests can validate status and content type and then deserialize response data into Decodable models, including async/await support through Swift Concurrency.
Handle uploads, downloads, streaming, and progress in one networking layer
Dedicated request types cover file/data/multipart uploads, downloads and resume data, progress callbacks, and streamed responses.
Centralize retries, authentication, and TLS pinning
RequestInterceptor supports adaptation and retry policies, while URLCredential authentication, certificate/public-key pinning, and reachability features help keep networking policy out of individual screens.
Sources: [1]
Best fit
Fits Apple-platform apps that want a shared API client layer
It is useful when mobile or desktop applications have many endpoints and want to avoid scattering URLSession delegate logic, retries, validation, and serialization across features.
Sources: [1]
Before adoption
Version 5.12.2 is a versioning-only release
The 5.12.2 release notes explicitly state that there are no functional changes in this release. Feature evaluation should therefore consider the broader 5.12 line.
Sources: [4]
Linux, Windows, and Android builds are explicitly unsupported
The README lists missing or unreliable functionality on these platforms, including certificate pinning, client certificates, some authentication paths, metrics, and WebSocketRequest, and labels them unsupported.
Sources: [1]
Official sources
- [1]Alamofire 5.12.2 README(2026-10-03)
- [2]Alamofire 5.12.2 usage guide(2026-10-03)
- [3]Alamofire 5.12.2 Package.swift(2026-10-03)
- [4]Alamofire 5.12.2 release(2026-10-03)
- [5]Alamofire MIT license(2026-10-03)
Supplemental curator note
Alamofire is useful for Apple-platform apps that want to standardize retry, validation, serialization, uploads, and downloads without rebuilding URLSession plumbing. Linux, Windows, and Android builds are explicitly unsupported and miss important features such as certificate pinning.
Try it in 3 steps
- 1
Add the package dependency in Xcode
Enter https://github.com/Alamofire/Alamofire.git and select version 5.12.2.
File > Add Package Dependencies... - 2
Add the Alamofire product to the target
Use the normal Alamofire product unless the application specifically needs dynamic linking.
Select product: Alamofire - 3
Send a request
Verify the response, then define validation, timeout, retry, and authentication policies for production use.
import Alamofire; AF.request("https://httpbin.org/get").response { print($0) }
Growth
Growth trends · Last 30 days
42,406 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 4
- Open PRs
- 13
Development activity is still being collected.
Built with
Categories and tags
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- networking
- urlsession
- urlrequest
- httpurlresponse
- request
- response
- swift
- xcode
- certificate-pinning
- public-key-pinning
- parameter-encoding
- alamofire
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Express69,502 Stars
2 shared tag(s)
Build Node.js APIs and web backends by composing routing and middleware into a thin HTTP layer
JavaScript - NGINX31,781 Stars
2 shared tag(s)
run web delivery, reverse proxying, and load balancing while choosing between mainline and stable streams
C - OpenSearch13,804 Stars
2 shared tag(s)
Support distributed full-text, analytics, observability, and vector search
Java - tRPC40,685 Stars
1 shared tag(s) · 3 shared category(s)
Carry server types to clients and catch API mismatches during development
TypeScript - Flutter179,266 Stars
1 shared tag(s) · 2 shared category(s)
build mobile, web, and desktop UI from one Dart codebase
Dart - React Native126,786 Stars
1 shared tag(s) · 2 shared category(s)
native mobile UI with React, stable 0.87.1, and a framework-first path
C++
Report incorrect information
Tell us if any listing information is incorrect or outdated.