How do I download build artifacts (IPA, APK) using the Codemagic API?
Last updated: July 10, 2026
Context
If you want to download build artifacts such as IPA or APK files from Codemagic using the API, you cannot download them directly in a single request. The process requires a few steps to first locate the build and then retrieve a downloadable URL for the artifacts.
Answer
To download build artifacts via the Codemagic API, follow these three steps:
Get the Build ID – List your team's builds and filter by status and/or tag to find the relevant build. Replace
<team_id>,<tag_name>, and<api_key>with your actual values.curl 'https://codemagic.io/api/v3/teams/<team_id>/builds?status=finished&tag=<tag_name>' \ --header 'Accept: application/json' \ --header 'x-auth-token: <api_key>'Get the Artifact URLs – Use the Build ID retrieved in the previous step to fetch the artifact URLs.
curl \ -H "x-auth-token: <api_key>" \ https://api.codemagic.io/builds/<id> | jq -r ".build.artefacts[].url"Generate a Public Download URL and Download the Artifact – Use the artifact URL from the previous step to generate a public URL, then download the artifact.
# Define hours you want to add HOURS=24 # Calculate Unix timestamp: current time + (3600 seconds/hour * number of hours) EXPIRY=$(($(date +%s) + (3600 * HOURS))) # Then use it in your curl command curl -H "Content-Type: application/json" \ -H "x-auth-token: <api_key>" \ -d "{\"expiresAt\": $EXPIRY}" \ -X POST <artifact_url>/public-url OR curl -H "Content-Type: application/json" \ -H "x-auth-token: <api_key>" \ -d '{"expiresAt": <unix_timestamp>}' \ -X POST <artifact_url>/public-urlReplace
<unix_timestamp>with the expiry time for the public URL (e.g.,1780396267), and<artifact_url>with the URL obtained in Step 2.
Once you have the public URL from Step 3, you can use it to download the artifact directly.