salesforce-api
Salesforce API wrapper
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
Wraps Salesforce's REST and SOAP APIs to insert, update, upsert, delete, and query records, with support for bulk operations and metadata introspection.
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
pip
pip install salesforce-apiuv
uv add salesforce-apipoetry
poetry add salesforce-apiInstalling salesforce-api
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.
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'
})
Requires valid Salesforce credentials (username, password, security token, or OAuth client credentials) and network access to Salesforce login endpoints.
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 — requests, xmltodict, url-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) |
Evidence: salesforce_api-0.1.46.tar.gz
Keywords: salesforce, salesforce api, salesforce bulk api
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
marketorestpythonPython client library that wraps the Marketo…
permissive · top 15,000 on PyPI
nocodb-simple-clientA Python client library for NocoDB that…
permissive · top 15,000 on PyPI
salesforce-bulkPython client library for the Salesforce Bulk…
permissive · top 5,000 on PyPI
simple-salesforceA REST API client for Salesforce that provides…
permissive · top 1,000 on PyPI
netsuitesdkA Python SDK that wraps NetSuite's SOAP web…
permissive · top 15,000 on PyPI
salesforce-cdp-connectorConnects Python to Salesforce Data Cloud to…
permissive · top 15,000 on PyPI
netsuiteAsync client for NetSuite's SuiteTalk SOAP,…
permissive · top 15,000 on PyPI
pysnowpysnow is a Python HTTP client library for…
permissive · top 15,000 on PyPI
Salesforce-FuelSDK-SansProvides Python bindings to Salesforce…
permissive · top 15,000 on PyPI
PowerPlatform-Dataverse-ClientA Python client library for Microsoft Dataverse…
unclear · top 15,000 on PyPI