$npx skillfedfor your agent

requests-ntlm

This package allows for HTTP NTLM authentication using the requests library.

With conditionsPyPI WWW/HTTPReleased Jun 202415.4M downloads / moISCPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — requests_ntlm-1.3.0-py3-none-any.whl
v1.3.0 · released 2024-06-09 · Python >=3.8 · 3 runtime deps: cryptography, pyspnego, requests

Yes, if you need to authenticate against NTLM-protected servers. The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. It is the standard solution for this specific use case within the requests ecosystem. Not needed if your HTTP targets use standard authentication schemes.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Low friction installation with three straightforward dependencies (requests, pyspnego, cryptography).
  • Actively maintained with recent commits and a stable release history since 2013.

License · maintenance · safety

ISC (permissive) — ISC license is permissive, allowing use in commercial and proprietary projects with minimal restrictions.

last release 2024-06-09 (796 days) · last repo commit 2026-03-12 · 345 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 15,442,318 downloads/mo, #1,187 on PyPI

Verify before relying

pip install requests-ntlm

import requests
from requests_ntlm import HttpNtlmAuth

requests.get('http://ntlm_protected_site.com', auth=HttpNtlmAuth('domain\\username', 'password'))
  • Whether connection pooling with sessions provides measurable performance gains for repeated NTLM-authenticated requests in typical workloads.
  • Support for NTLM v2 and other protocol variants beyond basic NTLM authentication.
Same gist for agents: .md · .json

What it is and what it does

requests-ntlm bridges the gap between the requests library and Windows NTLM authentication, a protocol commonly required by corporate and legacy HTTP servers. It provides an HttpNtlmAuth class that integrates directly with requests' authentication framework, handling the NTLM challenge-response handshake transparently. The package depends on pyspnego for protocol handling and cryptography for cryptographic operations.

Typical usage involves passing HttpNtlmAuth to a request's auth parameter with domain-qualified credentials. For efficiency, the documentation recommends using requests.Session to enable connection pooling, since NTLM authenticates at the connection level rather than per-request. The package supports Python 3.8 through 3.12 and is classified as Beta, reflecting its mature but still-evolving status.

Use it for

  • Authenticate requests to corporate intranet servers that require NTLM credentials instead of basic HTTP auth.
  • Build automation scripts that interact with Windows-protected APIs or file shares over HTTP.
  • Integrate with legacy enterprise systems that mandate NTLM for HTTP access.
  • Establish persistent sessions to NTLM-protected endpoints using connection pooling for efficiency.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need to authenticate against NTLM-protected servers.

The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. It is the standard solution for this specific use case within the requests ecosystem. Not needed if your HTTP targets use standard authentication schemes.

Install

requests-ntlm on PyPI

Before you install

Low friction installation with three straightforward dependencies (requests, pyspnego, cryptography). Actively maintained with recent commits and a stable release history since 2013.

License in practice

ISC license is permissive, allowing use in commercial and proprietary projects with minimal restrictions.

Quickstart

pip install requests-ntlm

import requests
from requests_ntlm import HttpNtlmAuth

requests.get('http://ntlm_protected_site.com', auth=HttpNtlmAuth('domain\\username', 'password'))

Verify before relying

  • Whether connection pooling with sessions provides measurable performance gains for repeated NTLM-authenticated requests in typical workloads.
  • Support for NTLM v2 and other protocol variants beyond basic NTLM authentication.

Package facts

LicenseISC permissive
Python supportSupports the current Python release >=3.8
Install frictionLow. Pure-Python wheel
Runtime dependencies
3 packages
cryptographypyspnegorequests
MaintenanceActively maintained 796 days since the last release
Last repo commit
First released
Downloads15,442,318 / month, #1,187 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: ISC License (ISCL)Programming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Evidence: requests_ntlm-1.3.0-py3-none-any.whl

Tags

Capabilities
ntlm authentication requestswindows ntlm http authrequests ntlm supporthttp ntlm credentialsdomain authentication requestswindows domain http auth
Topics
authenticationwindows-integrationenterprise

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 › “requests ntlm support”

  • requests-ntlmAdds NTLM authentication support to the requests library, allowing…
  • requests-ntlm2Adds NTLM authentication support to the requests library, enabling…
  • httpx-ntlmAdds NTLM authentication support to HTTPX, enabling HTTP requests to…

Give your agent the search over MCP, or paste the wish link into any chat.

More WWW/HTTP packages

urllib3 Worth it
PyPI · Libraries · released May 2026

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.

MITpure Python · 3.10+
1.8Bdownloads / mo
requests Worth it
PyPI · Libraries · released May 2026

Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.

Apache-2.0pure Python · 3.10+
1.8Bdownloads / mo
h11 With conditions
PyPI · WWW/HTTP · released Apr 2025

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.

MITpure Python · 3.8+aging
894.9Mdownloads / mo
httpx Worth it
PyPI · WWW/HTTP · released Dec 2024

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.

BSD-3-Clausepure Python · 3.8+
797.0Mdownloads / mo
httpcore With conditions
PyPI · WWW/HTTP · released Apr 2025

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.

BSD-3-Clausepure Python · 3.8+aging
783.6Mdownloads / mo
aiohttp Worth it
PyPI · WWW/HTTP · released Jul 2026

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.

permissive licensecompiled wheel · 3.10+
643.6Mdownloads / mo

See also httpx-ntlm · requests-ntlm2 · requests-ntlm3 · ntlm-auth · requests-credssp · pyspnego · requests-negotiate-sspi · requests-kerberos · requests-auth · msldap