# Amazon Halo API alternative: where Halo users and developers go now

> Amazon Halo shut down in 2023 and never had a public API: what happened, and where activity, sleep and body data come from now, stored in FHIR.

Source: https://developers.anpheros.com/guides/amazon-halo-alternative

**Amazon discontinued Halo: support ended on 31 July 2023, the Halo Band, View, Rise and the Halo app stopped working on 1 August 2023, and the data left in Halo was deleted after that. Halo never had a public developer API. Anpheros does not connect to Amazon Halo's cloud itself, and nobody can now: your code reads the device people moved to (or the phone's health store), and Anpheros keeps the record with the person's consent. This page explains what happened, and where activity, sleep and body data come from today.**

## Read steps and sleep from the phone and store them in FHIR (5 minutes)

Most trackers people moved to write into Apple Health or Health Connect. Your phone app reads the daily values there, sends them to your backend, and the backend writes them to the person's record (sandbox key `sk_test_…`). Steps for one day:

```bash
curl -X POST https://platform.anpheros.com/fhir/R4/Observation \
  -H "Authorization: Bearer $ANPHEROS_KEY" \
  -H "Content-Type: application/fhir+json" \
  -H "X-Anpheros-Author-Type: device" \
  -d '{"resourceType":"Observation","status":"final",
       "category":[{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/observation-category","code":"activity"}]}],
       "code":{"coding":[{"system":"http://loinc.org","code":"41950-7","display":"Number of steps in 24 hour Measured"}]},
       "subject":{"reference":"Patient/<id>"},
       "effectivePeriod":{"start":"2026-11-02T00:00:00+01:00","end":"2026-11-03T00:00:00+01:00"},
       "valueQuantity":{"value":8412,"unit":"{steps}","system":"http://unitsofmeasure.org","code":"{steps}"},
       "device":{"display":"Apple Watch"}}'
```

The same in Python, for a batch of nights: every sleep period becomes one Observation, sent together in one transaction Bundle.

```python
import os, requests

FHIR = "https://platform.anpheros.com/fhir/R4"
fhir = {"Authorization": f"Bearer {os.environ['ANPHEROS_KEY']}", "Content-Type": "application/fhir+json",
        "X-Anpheros-Author-Type": "device"}

# What your phone app sent: one item per night, read from HealthKit (sleepAnalysis) or Health Connect (SleepSessionRecord)
nights = [
    {"start": "2026-11-01T23:05:00+01:00", "end": "2026-11-02T06:48:00+01:00", "asleep_min": 421, "source": "Galaxy Watch"},
    {"start": "2026-11-02T23:30:00+01:00", "end": "2026-11-03T07:02:00+01:00", "asleep_min": 409, "source": "Galaxy Watch"},
]

entries = [{
    "request": {"method": "POST", "url": "Observation"},
    "resource": {
        "resourceType": "Observation", "status": "final",
        "category": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/observation-category", "code": "activity"}]}],
        "code": {"coding": [{"system": "http://loinc.org", "code": "93832-4", "display": "Sleep duration"}]},
        "subject": {"reference": "Patient/<id>"},
        "effectivePeriod": {"start": n["start"], "end": n["end"]},
        "valueQuantity": {"value": n["asleep_min"], "unit": "min", "system": "http://unitsofmeasure.org", "code": "min"},
        "device": {"display": n["source"]},
    },
} for n in nights]

r = requests.post(FHIR, headers=fhir, json={"resourceType": "Bundle", "type": "transaction", "entry": entries})
print(r.status_code, len(entries), "nights saved")
```

And in JavaScript (Node 18+), body weight from a smart scale:

```js
const fhir = { Authorization: `Bearer ${process.env.ANPHEROS_KEY}`, 'Content-Type': 'application/fhir+json' };
const w = { time: '2026-11-03T07:10:00+01:00', kg: 72.4, source: 'Smart scale' }; // from your phone app

await fetch('https://platform.anpheros.com/fhir/R4/Observation', {
  method: 'POST', headers: fhir,
  body: JSON.stringify({
    resourceType: 'Observation', status: 'final',
    category: [{ coding: [{ system: 'http://terminology.hl7.org/CodeSystem/observation-category', code: 'vital-signs' }] }],
    code: { coding: [{ system: 'http://loinc.org', code: '29463-7', display: 'Body weight' }] },
    subject: { reference: 'Patient/<id>' },
    effectiveDateTime: w.time,
    valueQuantity: { value: w.kg, unit: 'kg', system: 'http://unitsofmeasure.org', code: 'kg' },
    device: { display: w.source },
  }),
});
```

The phone side is on [Apple HealthKit to FHIR](https://developers.anpheros.com/guides/apple-health-fhir) and [Health Connect to FHIR](https://developers.anpheros.com/guides/health-connect-fhir). The Anpheros side is standard FHIR R4, so the same requests work with any FHIR server, and the record no longer depends on one vendor staying in business.

## Ways to get former Halo data into FHIR

| Path | Status | What you need |
|---|---|---|
| Your backend reads an Amazon Halo API | **Not available** | Halo is discontinued, and it never had a public developer API |
| Halo → Apple Health or Health Connect | **Not available** | The service ended on 1 August 2023; Amazon's materials never described such a sync |
| Data left in Halo after 1 August 2023 | **Not available** | Amazon deleted it. Only files people downloaded before the shutdown still exist |
| The new device → Apple Health or Health Connect → your app → Anpheros | **Works today** | HealthKit or Health Connect permissions. See [Apple HealthKit to FHIR](https://developers.anpheros.com/guides/apple-health-fhir) and [Health Connect to FHIR](https://developers.anpheros.com/guides/health-connect-fhir) |
| The new device's own cloud API → your backend → Anpheros | **Works today** | Each vendor's access rules, for example [Oura](https://developers.anpheros.com/guides/oura-api), [Garmin](https://developers.anpheros.com/guides/garmin-api) or the [Google Health API](https://developers.anpheros.com/guides/google-health-api) for Fitbit and Pixel Watch |
| A direct Amazon Halo connector inside Anpheros | **Not available** | The product is gone. For the device people use now, a direct connector is on our roadmap: use the button below to tell us which one you need |

<!-- visual:cta-wear-amazon-halo -->

## What happened to Amazon Halo

| Date | What happened |
|---|---|
| 27 August 2020 | Amazon introduces Halo and the Halo Band |
| 28 September 2021 | Halo View and Halo Fitness are added |
| 26 April 2023 | Amazon announces it is winding Halo down |
| 31 July 2023 | Support ends |
| 1 August 2023 | Halo Band, View, Rise and the app stop working; the remaining data is deleted |

Halo tracked activity, sleep, body fat (from body scans) and tone of voice, and offered nutrition and fitness content. Before the shutdown, people could download or delete their Halo data from the app's settings and save body scan images to their phone. Amazon refunded Halo devices and bands bought in the previous 12 months and any unused prepaid subscription, stopped monthly fees and offered free recycling.

## What Amazon Halo offered developers

**No public API.** Amazon's announcements describe no developer API, keys or documentation for Halo. Integrations were account links with selected partners, which the person switched on in the Halo app and could revoke: WW (activity turned into FitPoints), John Hancock Vitality, and Cerner (body fat to care providers, activity and sleep to wellness programmes, starting with Sharp HealthCare). All of them ended with the service. Amazon documents no "Halo Share" or partner cloud API, and no Apple Health or Google Fit sync.

**What developers use instead.** Former Halo users need another tracker, and current trackers reach your app in two ways:

| Route | Brands (examples, not recommendations) | Access |
|---|---|---|
| Phone health store | Anything that writes to Apple Health (iPhone) or Health Connect (Android): Apple Watch, Galaxy Watch through Samsung Health, Fitbit and Pixel Watch, Garmin, Oura, Withings and more | On-device permissions, no vendor contract. See [Wearable data in FHIR](https://developers.anpheros.com/guides/wearable-data-fhir) |
| Vendor cloud API | Oura API v2, Garmin Connect Developer Program, WHOOP, Withings, Polar, Google Health API (Fitbit and Pixel Watch) | Each vendor's OAuth app and rules. See [Wearable APIs: every brand compared](https://developers.anpheros.com/guides/wearable-apis) |

Halo's tone-of-voice feature has no counterpart in the health stores or APIs on this page.

Sources: [Amazon: Halo discontinued](https://www.aboutamazon.com/news/company-news/amazon-halo-discontinued), [Amazon: introducing Halo (2020)](https://press.aboutamazon.com/2020/8/introducing-amazon-halo-and-amazon-halo-band-a-new-service-that-helps-customers-improve-their-health-and-wellness), [Amazon: Halo View and Halo Fitness (2021)](https://press.aboutamazon.com/news-releases/news-release-details/amazon-adds-more-halo-introducing-halo-view-halo-fitness-and/), November 2026.

## Halo-type data as FHIR Observations

| What Halo tracked | Where it comes from now | LOINC | UCUM unit |
|---|---|---|---|
| Steps | HealthKit `stepCount`, Health Connect `StepsRecord`, or a vendor API | 41950-7 | `{steps}` |
| Sleep duration | HealthKit `sleepAnalysis`, Health Connect `SleepSessionRecord` | 93832-4 | `min` |
| Sleep stages | the same sources | 93831-6 deep, 93830-8 light, 93829-0 REM | `min` |
| Heart rate | HealthKit `heartRate`, Health Connect `HeartRateRecord` | 8867-4 | `/min` |
| Body weight | HealthKit `bodyMass`, Health Connect `WeightRecord` | 29463-7 | `kg` |

Body fat and tone of voice are not in our mapping table; if you store body fat, use a code you document. The full table is on [Wearable data in FHIR](https://developers.anpheros.com/guides/wearable-data-fhir).

## Frequently asked questions

### What replaced Amazon Halo?
No single product. Amazon's shutdown notice covers refunds, data download and recycling, not a successor. Former Halo users need another tracker: most current trackers write to Apple Health or Health Connect, and several have their own developer APIs.

### Did Amazon Halo have an API?
Not a public one. Halo worked with selected partners (WW, John Hancock Vitality, Cerner) through account links the person approved in the app. There was no developer portal, and all of it ended on 1 August 2023.

### Can I still get my Amazon Halo data?
Only if you downloaded it before the shutdown. Amazon deleted the data that remained in Halo after 1 August 2023.

### Did Halo sync with Apple Health or Google Fit?
Amazon's official materials never describe it, and nothing syncs today because the service has ended.

### Which API should I use instead of Halo?
Start with the phone: Apple HealthKit on iPhone and Health Connect on Android cover most trackers with one integration each. Add a vendor's cloud API (Oura, Garmin, WHOOP, Withings, Polar or the Google Health API) when you need data on a server without the phone app.

### Does Anpheros connect to Amazon Halo?
No, and it cannot: Halo no longer exists. For the device a person uses now, your code reads it (or HealthKit / Health Connect) and writes standard FHIR to Anpheros. Direct connectors for current brands are on our roadmap; tell us with the button on this page which one you need.

## Related

- [Wearable APIs: every brand compared](https://developers.anpheros.com/guides/wearable-apis)
- [Wearable data in FHIR (Apple Health, Health Connect)](https://developers.anpheros.com/guides/wearable-data-fhir)
- [Apple HealthKit to FHIR](https://developers.anpheros.com/guides/apple-health-fhir) · [Health Connect to FHIR](https://developers.anpheros.com/guides/health-connect-fhir)
- [Oura API to FHIR](https://developers.anpheros.com/guides/oura-api) · [Garmin API to FHIR](https://developers.anpheros.com/guides/garmin-api) · [Google Health API](https://developers.anpheros.com/guides/google-health-api)
- [Fitbit Web API shutdown: what to use instead](https://developers.anpheros.com/guides/fitbit-web-api-shutdown)
