Skip to main content

An API for accessing a Polish REGON database

Project description

litex.regon - a frontend for Polish REGON database

Simple, pythonic wrapper for REGON database (web frontend is reachable at https://wyszukiwarkaregon.stat.gov.pl/appBIR/index.aspx). To access its SOAP API, one needs an USER_KEY issued by REGON administrators available at Regon_Bir@stat.gov.pl.

Usage example below:

>>> from litex.regon import REGONAPI

REGONAPI accepts one argument: service URL (provided by REGON Administrators).

>>> api = REGONAPI(SERVICE_URL)

First, one needs to log in (using provided user key)

>>> api.login(USER_KEY)

After login, one can start querying the database. The search method accepts the following parameters:

  • regon - single REGON number (either 9 or 14 digits long)
  • krs - single 10 digit KRS number
  • nip - single NIP (10 digits string)
  • regons - a collection of REGONs (all of them have to be either 14 or 9 digits long)
  • krss - a collection of KRSs
  • nips - a collection of NIPs

Only one parameter is used in the query. If multiple ones are passed, first from the above list is taken into account.

Additionally, a detailed parameter can be passed: detailed=True causes search method to fetch default detailed report.

>>> entities = api.search(nip='9999999999')

entities is a list of LXML objectify objects wrapping the search results (up to 100). If search was called with detailed=True, the full report is available as the detailed attribute.

If one knows the REGON of a business entity and an detailed report name, a full report can be fetched directly:

>>> detailed_report = api.full_report('99999999', 'PublDaneRaportFizycznaOsoba')

Summary report with a list of REGONs for the given criteria can be fetched by:

>>> summary_report = api.summary_report(
        '2020-01-01', 
        'BIR11NowePodmiotyPrawneOrazDzialalnosciOsFizycznych'
    )

Report names can be found in the documentation provided by REGON admins.

Changes

1.0.7

  • compatibility with requests >= 2.28 (thanks to @wolkiewiczk for spotting this)

1.0.6

  • more meaningful error messages in search method (thanks @m-ganko)
  • summary reports (also kudos to @m-ganko)

1.0.5

  • reworked REGON cleanup logic (in search function, when fetching detailed report)
  • search method now uses DaneSzukajPodmioty (API version 1.1) call instead of DaneSzukaj (thanks to @kicaj for pull request)

1.0.4

  • migration from nose to py.test
  • tox configuration for Python 2 and 3 testing
  • improved handling of detailed reports (thanks to @miloszsobiczewski for logging an issue)

1.0.3

  • Python 3.6 compatibility (thanks to Mariusz Witek)

1.0.2

  • CAPTCHA removal -- no longer needed in current API

1.0.1

  • detailed report fetching logic reworked

1.0.0

  • initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

litex.regon-1.0.7.tar.gz (8.0 kB view details)

Uploaded Source

File details

Details for the file litex.regon-1.0.7.tar.gz.

File metadata

  • Download URL: litex.regon-1.0.7.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for litex.regon-1.0.7.tar.gz
Algorithm Hash digest
SHA256 094ebdf0550d92daae2a67b30d2913db13385410f17679aaba5d19244fe97aa2
MD5 8809148542bbbc549128ee987502efa6
BLAKE2b-256 4fa1cfe76c4c6725630794ea6febbb83184a9e298802d9844a8788b06860ebf7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page