simple-salesforce
A basic Salesforce.com REST API client.
Decision gist · record as of 2026-08-14
Yes. Simple Salesforce is production-stable (Development Status 5), actively maintained with recent commits, has no known vulnerabilities, and provides low-friction installation. It is the standard choice for Python developers needing direct REST API access to Salesforce without higher-level abstractions. Install if you need to integrate Salesforce into a Python application.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- Salesforce credentials (username, password, and security token or equivalent authentication method) are required to connect.
- Low install friction with a pure-Python wheel distribution.
License · maintenance · safety
Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive), allowing use in commercial and open-source projects with minimal restrictions.
last release 2026-07-08 (37 days) · last repo commit 2026-07-08 · 1,890 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 33,021,838 downloads/mo, #769 on PyPI
Alternatives
Verify before relying
pip install simple-salesforce
from simple_salesforce import Salesforce
sf = Salesforce(username='user@example.com', password='password', security_token='token')
contact = sf.Contact.get('003e0000003GuNXAA0')- Whether the package supports Salesforce API versions beyond what is documented in the excerpt.
- Performance characteristics and rate-limiting behavior for large-scale queries or bulk operations.
- Whether all Salesforce object types and custom objects are fully supported without additional configuration.
What it is and what it does
Simple Salesforce is a low-level REST API client for Salesforce.com built for Python 3.9 through 3.14. It wraps the Salesforce REST API and returns raw JSON responses as dictionaries, giving developers direct access to Salesforce objects, queries, and authentication flows without abstraction layers. The package supports multiple authentication methods including username/password with security token, JWT flow, IP-whitelist organization ID, and connected app credentials.
The library handles standard record operations—create, read, update, delete—on any Salesforce object (Contact, Account, Opportunity, Lead, etc.), plus SOQL queries and SOSL searches. It depends on requests for HTTP transport, zeep for SOAP operations, pyjwt for JWT signing, typing-extensions for type hints, and more-itertools for utility functions. The package is actively maintained, has no known vulnerabilities, and is widely used in production environments.
Use it for
- Integrate Salesforce CRM data into Python applications for automated record creation, updates, and deletions.
- Query Salesforce objects using SOQL to retrieve contacts, accounts, or opportunities for reporting or data synchronization.
- Authenticate to Salesforce using multiple methods (security token, JWT, connected app) depending on your deployment model.
- Build custom ETL pipelines that read from or write to Salesforce as a data source or destination.
- Track deleted and updated records over time windows using the deleted() and updated() methods for audit or sync workflows.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Simple Salesforce is production-stable (Development Status 5), actively maintained with recent commits, has no known vulnerabilities, and provides low-friction installation. It is the standard choice for Python developers needing direct REST API access to Salesforce without higher-level abstractions. Install if you need to integrate Salesforce into a Python application.
Install
simple-salesforce on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with recent commits and a stable release cycle; no known vulnerabilities.
Requires Python 3.9 or later. Salesforce credentials (username, password, and security token or equivalent authentication method) are required to connect.
License in practice
Licensed under Apache-2.0 (permissive), allowing use in commercial and open-source projects with minimal restrictions.
Quickstart
pip install simple-salesforce
from simple_salesforce import Salesforce
sf = Salesforce(username='user@example.com', password='password', security_token='token')
contact = sf.Contact.get('003e0000003GuNXAA0')
Verify before relying
- Whether the package supports Salesforce API versions beyond what is documented in the excerpt.
- Performance characteristics and rate-limiting behavior for large-scale queries or bulk operations.
- Whether all Salesforce object types and custom objects are fully supported without additional configuration.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 5 packagesrequeststyping-extensionszeeppyjwtmore-itertools |
| Maintenance | Actively maintained 37 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 33,021,838 / month, #769 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: System AdministratorsOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: PyPyTopic :: Internet :: WWW/HTTP |
Evidence: simple_salesforce-1.12.10-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “salesforce rest api client”
- simple-salesforceA REST API client for Salesforce that provides low-level access to…
- salesforce-apiWraps Salesforce's REST and SOAP APIs to insert, update, upsert,…
- Salesforce-FuelSDKProvides Python bindings to Salesforce Marketing Cloud's REST and…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also salesforce-api · WooCommerce · salesforce-bulk · agithub · marketorestpython · salesforce-cdp-connector · Salesforce-FuelSDK-Sans · apache-airflow-providers-salesforce · netsuitesdk · Salesforce-FuelSDK