macOS processes

What is apsd on Mac?

apsd keeps one connection open to the Apple Push Notification service. Apps and iCloud use it to get notifications.

Process: apsdApplies to: All current macOS versions. Seen on macOS 27.2.Checked: 29 October 2026

Where you see it

  • apsd is in the list in Activity Monitor › Network, in nettop or in Kilobat.
  • A firewall or network monitor asks if apsd can connect.
  • apsd keeps a connection open all the time, also when the Mac does nothing.

What it is

The man page calls apsd the “Apple Push Notification service daemon”. It is part of the ApplePushService framework.

Apps do not hold their own connection for notifications. Apple's developer documentation says that apps register with APNs and get a device token.

Why it uses the network

  • A connection that stays open. Apple says that devices use TCP port 5223 for APNs. Port 443 is the fallback when 5223 is blocked.
  • Notifications. Messages, mail, calendar changes and app notifications arrive through it.

Is it normal?

Yes. A steady, small connection is how push notifications work. Its traffic is usually small.

Repeated reconnections can mean that a firewall or proxy blocks port 5223.

See how much it uses

  1. Open Activity Monitor from Applications > Utilities. Click Network.

  2. Type apsd in the search field. The Sent Bytes and Rcvd Bytes columns show what it moved.

  3. In Terminal, watch only this process. Press d to show the change per second, and q to quit.

    nettop -p apsd -P
  4. Show its connection and port.

    lsof -nP -i -a -c apsd

Reduce or pause it safely

  1. Turn off notifications for apps that you do not need. Choose Apple menu > System Settings > Notifications.

  2. If you manage a network, allow TCP port 5223 to Apple. Apple lists the hosts and ports in its enterprise network article.

  3. Do not quit apsd in Activity Monitor. It is part of macOS, and other features depend on it. Notifications come through it.

With Kilobat

  1. Open the Kilobat app list and search for apsd. Its row shows the live rate and the bytes it moved.

  2. In Terminal, see the same live list. Press / and type the name to search.

    kilobat status --watch
  3. Show its traffic over one day. Names match kilobat report --summary.

    kilobat bandwidth apsd day
  4. Through MCP, an AI agent gets the same history with get_app_bandwidth and the name apsd.

  5. The live view is free. History in the app needs Pro. Kilobat records history only while the app runs.

Questions

Why do I not get notifications on a company network?

Apple says that devices need TCP port 5223 to Apple's network. Some company firewalls block it.

Does a proxy break push notifications?

Apple says that port 443 traffic can go through a proxy that does not decrypt it.

Sources

Sources checked on 29 October 2026. Man pages are the ones installed with macOS; open one with man <name> in Terminal.