apsd — the always-on connection that lets notifications find you

Last updated: 2026-07-30

apsd is the Apple Push Notification service daemon. It keeps one long-lived connection open to Apple's push infrastructure so that messages, calls and app notifications can be delivered without every app polling on its own. It uses almost no data but the connection never closes by design — that permanence is the feature, not a symptom.

What it is

apsd is the client daemon for APNs, the Apple Push Notification service. It is the single point through which push messages reach your Mac.

The reason it exists is worth understanding, because it explains the behaviour that people find suspicious. Before push notification services, an application that wanted to know about new data had to ask repeatedly — poll a server every minute or two, forever, whether or not anything had changed. With twenty such applications installed, that is twenty processes waking up constantly, twenty sets of connections, and a significant drain on both battery and bandwidth to deliver mostly the answer "nothing new".

Push inverts this. One daemon holds one connection. When a server has something for any app on your machine, it hands the message to Apple, Apple sends it down the existing connection, and apsd routes it to the right app. Twenty pollers become one listener.

Why it talks to the network

It maintains a persistent TLS connection to Apple's push infrastructure, typically to an address in Apple's 17.0.0.0/8 range on port 5223.

Traffic on that connection falls into two categories. Keepalives are small periodic messages that confirm the connection is still usable — necessary because home routers and mobile networks silently drop idle connections, and a connection you think is open but is not means notifications simply never arrive. Payloads are the notifications themselves, which are strictly size-limited and typically consist of a short message and some routing metadata.

iMessage and FaceTime depend on this path for incoming messages and calls, which is why apsd problems tend to show up first as "messages arrive late on my Mac".

How much traffic is normal

Negligible, and this is one of the clearest cases where a permanently open connection tells you nothing about volume.

Keepalives are a handful of bytes at intervals measured in minutes. Notification payloads are capped at a few kilobytes and most are far smaller. A day of heavy messaging might total a few megabytes; a typical day is well under that.

What tends to alarm people is the permanence rather than the size — a connection that never closes, to an IP address that does not resolve to a familiar name. Both of those are normal for apsd. If you are checking whether something is wrong, look at bytes rather than at connection duration.

Can you turn it off

No, and there is a much better tool for the actual complaint. apsd is a keep process.

Disabling it removes notification delivery for the entire system, and takes incoming iMessage and FaceTime with it. Since it consumes essentially no bandwidth, there is no resource argument for doing so — you would be breaking a core feature to save nothing.

If the real problem is that you are getting too many notifications, that is a different problem with a proper solution: System Settings › Notifications, per application. That stops the interruptions while leaving the transport intact for the things you do want, such as knowing that someone called you.

Seeing what it actually used

apsd is the standing counter-example to judging a process by how its connections look. It holds one connection open permanently, to an IP address in a block most people do not recognise, and moves an amount of data that rounds to zero.

Bytetally measures actual upload and download per process rather than connection state, which is what settles the question quickly: apsd's row stays near the bottom of the list no matter how alarming its connection looks. If it ever climbs, that is genuinely worth a look — but in normal operation it will not.

Related processes

Common questions

Why does apsd connect to a 17.x.x.x address?

17.0.0.0/8 is a block of IP addresses allocated to Apple. Push connections terminate on Apple infrastructure inside that range, typically on port 5223. Seeing a persistent connection to a 17.x address from apsd is exactly what a healthy Mac looks like.

Why is the connection open all the time?

That is the whole design. A push notification has to arrive within a second of being sent, which is only possible if a connection already exists — establishing one on demand would be far too slow. One permanent connection shared by every app is also dramatically cheaper than every app polling separately, which is what push was invented to replace.

Can I disable apsd?

You should not. Without it you lose notifications system-wide, and iMessage and FaceTime stop receiving. If specific apps are notifying you too much, the control is in System Settings › Notifications, which stops the alerts without breaking the transport everything else relies on.

Does apsd use much data?

Almost none. Keeping the connection alive costs a small heartbeat at intervals, and notification payloads are limited to a few kilobytes each. Even a very chatty day is unlikely to reach a meaningful figure. It is a process with a permanent connection and negligible volume.

See exactly how much it used

Bytetally tracks every process on your Mac separately — upload and download, live and historical. All on-device.

Download Free on the Mac App Store

macOS 14 Sonoma or later · 100% on-device · No account