How do companies caller ID private numbers?

I have an unlisted home phone number, so when I call someone’s house phone or cell phone it won’t show up on caller ID or be listed as private or unavailable. However, if I call my cable company or credit card company, they automatically ID me and have my account information with little input from me. Exactly how do they do this? Do the phone companies allow them access to everyone’s number?

No, but they have your phone number in their database as part of your account information. When you call in, their computer does a search on the number and identifies your account.
Having an unlisted number doesn’t prevent them from getting the number you are calling from, the caller ID just blocks your name.

Are you calling a toll-free number? Then the cable company can get the caller’s number via ANI.

If you are calling a toll free number then the calling # (yours) is passed on.

If you call an 800 (or any toll-free number), the caller gets the number you called from whether it is blocked or unlisted.

ETA: what they said.

Yep. Call my toll-free number… I’m paying… so my rules.

This is not true in most cases – unlisted does not equal automatic caller ID blocking. Some telcos offer it as a separate service, most offer it for free on a per call basis (*67).

And as **friedo **says, your number is always available through ANI, and is always passed for both 911 and toll free calls.