proxycurl-py
What it is and what it does
proxycurl-py is the official Python client for Proxycurl, a managed API service that enriches and looks up LinkedIn profile and company data. It wraps HTTP calls to Proxycurl's endpoints, handling authentication via API key and automatically managing rate limits with exponential backoff. The library is designed around concurrency from the ground up and requires you to choose one of three concurrency models at install time: asyncio, gevent, or twisted. This design choice reflects the library's primary use case: making many API requests in parallel to achieve high throughput (the documentation mentions up to 432,000 profiles per day on default rate limits).
The package supports Python 3.7 through 3.12 and has zero runtime dependencies—it ships as a pure Python wheel. You provide your Proxycurl API key via environment variable or direct configuration, then use the client to enrich person and company profiles by URL, lookup people and companies by name or domain, reverse-lookup LinkedIn URLs from work email addresses, and process bulk enrichment jobs from CSV files. Error handling is built in for non-rate-limit failures via ProxycurlException.
Use it for:
- Enrich a batch of LinkedIn profile URLs with structured person data (name, title, company, contact info) in parallel using asyncio.
- Look up a person's LinkedIn profile URL given their first name, last name, and company domain.
- Reverse-lookup a LinkedIn profile URL from a work email address to find contact information.
- Enrich company profiles by URL to extract company metadata, size, industry, and other business intelligence.
- Process a CSV file of LinkedIn URLs concurrently to populate a CRM or database with enriched profile data.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python client for the Proxycurl API that enriches and looks up LinkedIn profiles and company data through programmatic API calls.
Yes, with conditions. Install if you have a valid Proxycurl API subscription, need to enrich or lookup LinkedIn data programmatically, and are comfortable with a dormant library (686 days since last release). The zero-dependency design and built-in rate-limit handling are strong points. However, verify the license terms first, confirm the Proxycurl service is still active, and ensure your chosen concurrency model (asyncio, gevent, or twisted) remains compatible with your environment.
Install
proxycurl-py on PyPI
pip
pip install proxycurl-pyuv
uv add proxycurl-pypoetry
poetry add proxycurl-pyInstalling proxycurl-py
Before you install
Low install friction with no runtime dependencies. Maintenance is dormant—last release was 686 days ago—so expect no active bug fixes or updates; use only if the API surface is stable and your needs are met by the current version.
License in practice
License treatment is unclear; no SPDX identifier or raw license text is available. Verify the actual license terms before using in production or distributing.
Quickstart
# Install with asyncio support
$ pip install 'proxycurl-py[asyncio]'
# Set your API key
export PROXYCURL_API_KEY='your_key_here'
# Enrich a LinkedIn profile
from proxycurl.asyncio import Proxycurl
import asyncio
proxycurl = Proxycurl()
person = asyncio.run(proxycurl.linkedin.person.get(
url='https://www.linkedin.com/in/williamhgates/'
))
print(person)
You must obtain a Proxycurl API key by registering an account at nubela.co/proxycurl and set it as the PROXYCURL_API_KEY environment variable or inject it into the config.
Verify before relying
- Whether the Proxycurl API service itself remains active and supported by the provider.
- Current status of the GitHub repository (archived status not confirmed in fact sheet).
- Whether concurrency library extras (asyncio, gevent, twisted) are still compatible with modern versions of those libraries.
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (<4.0,>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 686 days since the last release |
| First released | |
| Downloads | 95,644/month — #13,257 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: proxycurl_py-0.1.0.post2-py3-none-any.whl
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
linkedin-apiProvides direct HTTP access to LinkedIn's…
permissive · top 15,000 on PyPI
rocketreachPython client library for the RocketReach API,…
unclear · top 15,000 on PyPI
domaintools-apiProvides a Python interface to DomainTools…
permissive · top 15,000 on PyPI
linkedin-api-clientProvides a Python client for LinkedIn's Rest.li…
unclear · top 5,000 on PyPI
customerioPython client library for the Customer.io API,…
permissive · top 5,000 on PyPI
python-jobspyScrapes job postings from LinkedIn, Indeed,…
unclear · top 15,000 on PyPI
klaviyoA deprecated client library for integrating…
permissive · top 15,000 on PyPI
instaloaderDownloads public and private Instagram…
permissive · top 15,000 on PyPI
django-cprofile-middlewareMiddleware that profiles Django view execution…
permissive · top 15,000 on PyPI
tunatuna visualizes Python performance profiles in…
copyleft · top 15,000 on PyPI