Ultimate Sitemap Parser (USP) is a performant and robust Python library for parsing and crawling sitemaps.
Features
Supports all sitemap formats:
Field-tested with ~1 million URLs as part of the Media Cloud project
Error-tolerant with more common sitemap bugs
Tries to find sitemaps not listed in robots.txt
Uses fast and memory efficient Expat XML parsing
Doesn’t consume much memory even with massive sitemap hierarchies
Provides a generated sitemap tree as easy to use object tree
Supports using a custom web client
Uses a small number of actively maintained third-party modules
Reasonably tested
Installation
pip install ultimate-sitemap-parser
or using Anaconda:
conda install -c conda-forge ultimate-sitemap-parser
Usage
from usp.tree import sitemap_tree_for_homepage
tree = sitemap_tree_for_homepage('https://www.example.org/')
for page in tree.all_pages():
print(page.url)
sitemap_tree_for_homepage() will return a tree of AbstractSitemap subclass objects that represent the sitemap hierarchy found on the website; see a reference of AbstractSitemap subclasses. AbstractSitemap.all_pages() returns a generator to efficiently iterate over pages without loading the entire tree into memory.
For more examples and details, see the documentation.
Release files for ultimate-sitemap-parser 1.8.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ultimate_sitemap_parser-1.8.1.tar.gz | 39.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ultimate_sitemap_parser-1.8.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 84.5 kB
Release files / ultimate_sitemap_parser-1.8.1.tar.gz
| Download URL | ultimate_sitemap_parser-1.8.1.tar.gz |
|---|---|
| Size | 39.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6cf5ae0cfd83a2af5650402fc0ec462c83ac7558ef781fba9c012d1db123344f
|
|
BLAKE2b-256 checksum How to use checksums |
c3954b4bfd9bc572fdfd5c0ff70c85cd1b220181aaa6eb7cc70a0d2255444c10
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 16, 2026.
Transparency logRelease files / ultimate_sitemap_parser-1.8.1-py3-none-any.whl
| Download URL | ultimate_sitemap_parser-1.8.1-py3-none-any.whl |
|---|---|
| Size | 44.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7fe9347983ca9ca1f8960e7d5bf08cb49679b20d32532a9c7843e20fe31c0840
|
|
BLAKE2b-256 checksum How to use checksums |
c7bca34d6033f30bef4cdefe8597106ea375479a2006631042ce28e4f2133522
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 16, 2026.
Transparency log