skillfed

dateparser

Date parsing library designed to parse dates from HTML pages

dateparser Permissive license BSD-3-Clause Active 2,851 v1.4.2 released

Install

dateparser on PyPI

pip

pip install dateparser

uv

uv add dateparser

poetry

poetry add dateparser

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 4 — python-dateutil, pytz, regex, tzlocal
Maintenance actively maintained — 9 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: dateparser-1.4.2-py3-none-any.whl

Keywords: dateparser

Development Status :: 5 - Production/StableIntended Audience :: DevelopersNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPython

About dateparser

from the package's own PyPI description — quoted content, verbatim

.. Note that we use raw HTML in the header section because centering images and paragraphs is not supported in Github (https://github.com/github/markup/issues/163)

.. :changelog:

History

1.4.2 (2026-08-04)

New features:

  • Add an IGNORE_SURROUNDING_TEXT setting that, when enabled, retries parsing after ignoring the leading and trailing words the language does not recognize, so a date wrapped in extra text such as "Published on 16/04/2019" is parsed (#1356)
  • Add a strategy argument to search_dates() to choose the search strategy: the default "split" keeps the current behavior, while the new "ngram" strategy parses the longest sequences of tokens as dates for more predictable results on noisy text (#1351)

Fixes:

  • Do not read a two-digit number as a year once a later component has been found in year-first date orders, so the day in Japanese dates such as "4月20日" is no longer consumed as the year (#1358)
  • Parse ISO 8601 dates (those starting with a four-digit year) in month-day order even when an explicit day-first language such as it or fr is given, without needing to set...

Read as markdown · JSON record · Source repository

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

Parses dates and times from text in multiple languages and formats, including relative expressions like "2 days ago" and ISO 8601 dates, with configurable locale and timezone handling.

Low friction: pure Python wheel with four stable runtime dependencies (python-dateutil, pytz, regex, tzlocal). Active maintenance with a release 9 days ago and 2851 GitHub stars.

BSD-3-Clause is permissive; you may use, modify, and distribute dateparser freely in commercial and private projects provided you include the license notice.

Usage

pip install dateparser

from dateparser import parse
result = parse('16/04/2019')
print(result)  # datetime.datetime(2019, 4, 16, 0, 0)

Requires Python 3.10 or later.

Verdict: Production-ready date parser with strong maintenance (active, recent release), no known vulnerabilities, and permissive licensing. The low install friction and broad language support make it a solid choice for projects needing flexible date extraction from unstructured text.

Needs verification

  • Whether the four runtime dependencies themselves have known vulnerabilities or maintenance concerns.
  • Performance characteristics on very large text inputs or with complex locale configurations.
parse dates from textnatural language date parsingmultilingual date extractionrelative date expressionsISO 8601 date parsingtimezone-aware date parsingdate string to datetime

Similar packages