From the command line
curl -x http://USER:PASS@HOST:PORT https://api.ipify.org curl -x socks5h://USER:PASS@HOST:PORT https://api.ipify.org
Whatever comes back is your exit address for that request. Run it twice on a rotating pool and you should get two different answers — that is the pool working as intended, not a fault.
Holding one address on purpose
If you need the same address for a sequence of requests, ask for a sticky session. The session identifier goes in the username, alongside country targeting:
curl -x http://USER-country-us-session-ab12:PASS@HOST:PORT https://api.ipify.org
Repeat that and the address stays put for the life of the session. Drop the session token and rotation resumes.
In a browser
Any IP checker page shows the address and, usefully, who owns it. Ownership is what sites judge you on, so a checker that names the provider tells you more than the number does. Our own IP check page reports both.
In code
import requests
proxy = "http://USER:PASS@HOST:PORT"
r = requests.get("https://api.ipify.org",
proxies={"http": proxy, "https": proxy}, timeout=20)
print(r.text)
Worth doing at the start of any long job: log the exit address with each batch and a later investigation of "why did this run get blocked" has the data it needs.