salesforce-api
Salesforce API wrapper
Decision gist · record as of 2026-08-14
Yes, with conditions. The package offers a straightforward wrapper around Salesforce APIs and is permissively licensed. However, high install friction, aging maintenance (221 days since last release), and modest adoption (37 stars) suggest it may not be actively developed. Install if you need a lightweight, low-dependency Salesforce client and are comfortable maintaining it yourself; consider alternatives if you require active support or cutting-edge API coverage.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires valid Salesforce credentials (username, password, security token, or OAuth client credentials) and network access to Salesforce login endpoints.
- High install friction reported.
- Package is aging (221 days since last release) with modest maintenance activity; 37 repository stars suggest limited adoption relative to download volume.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
last release 2026-01-05 (221 days) · last repo commit 2026-01-05 · 37 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 203,229 downloads/mo, #9,633 on PyPI
Alternatives
Verify before relying
from salesforce_api import Salesforce
client = Salesforce(
username='test@example.com',
password='my-password',
security_token='password-token'
)
result = client.sobjects.Contact.insert({
'LastName': 'Example',
'Email': 'test@example.com'
})- Whether the package works with current Salesforce API versions beyond those documented in the excerpt.
- Python version compatibility—requires_python is unspecified in the fact sheet.
- Whether bulk operations require specific Salesforce permission sets beyond what the excerpt mentions.
- Current test coverage and stability of the aging codebase.
What it is and what it does
This package provides a Python client for Salesforce's REST and SOAP APIs, abstracting authentication, record operations, and bulk data handling into a simple object-oriented interface. It handles multiple authentication flows (username/password, OAuth2, access tokens) and supports both production and sandbox environments. The core use is managing Salesforce records—inserting, updating, upserting, deleting, and querying Contact, Account, and other SObjects—plus bulk operations for batch processing and metadata inspection.
The library depends on requests for HTTP communication, xmltodict for SOAP payload parsing, and url-normalize for URL handling. It abstracts away pagination automatically for queries and provides both eager and lazy (iterator) query modes. The package is permissively licensed (MIT) and has been in development since 2019, though recent maintenance appears limited.
Use it for
- Sync contact or account data from an external system into Salesforce via bulk insert or upsert operations.
- Query Salesforce records programmatically and iterate over large result sets without loading all data into memory.
- Build a Python backend service that reads and updates Salesforce records on demand via REST or SOAP.
- Automate record deletion or bulk updates as part of a data cleanup or migration workflow.
- Inspect Salesforce object metadata (field definitions, permissions) to validate or generate schema-aware code.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
The package offers a straightforward wrapper around Salesforce APIs and is permissively licensed. However, high install friction, aging maintenance (221 days since last release), and modest adoption (37 stars) suggest it may not be actively developed. Install if you need a lightweight, low-dependency Salesforce client and are comfortable maintaining it yourself; consider alternatives if you require active support or cutting-edge API coverage.
Install
salesforce-api on PyPI
Before you install
High install friction reported. Package is aging (221 days since last release) with modest maintenance activity; 37 repository stars suggest limited adoption relative to download volume. Depends on requests, xmltodict, and url-normalize—all common, stable libraries.
Requires valid Salesforce credentials (username, password, security token, or OAuth client credentials) and network access to Salesforce login endpoints.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
from salesforce_api import Salesforce
client = Salesforce(
username='test@example.com',
password='my-password',
security_token='password-token'
)
result = client.sobjects.Contact.insert({
'LastName': 'Example',
'Email': 'test@example.com'
})
Verify before relying
- Whether the package works with current Salesforce API versions beyond those documented in the excerpt.
- Python version compatibility—requires_python is unspecified in the fact sheet.
- Whether bulk operations require specific Salesforce permission sets beyond what the excerpt mentions.
- Current test coverage and stability of the aging codebase.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | 3 packagesrequestsxmltodicturl-normalize |
| Maintenance | Aging 221 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 203,229 / month, #9,633 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Software Development :: Libraries :: Python Modules |
Evidence: salesforce_api-0.1.46.tar.gz
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 soap wrapper”
- salesforce-apiWraps Salesforce's REST and SOAP APIs to insert, update, upsert,…
- Salesforce-FuelSDKProvides Python bindings to Salesforce Marketing Cloud's REST and…
- Salesforce-FuelSDK-SansProvides Python bindings to Salesforce Marketing Cloud's Fuel API,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also marketorestpython · nocodb-simple-client · salesforce-bulk · simple-salesforce · netsuitesdk · salesforce-cdp-connector · netsuite · pysnow · Salesforce-FuelSDK-Sans · PowerPlatform-Dataverse-Client