Skip to main content

Python helper to request Sirene Api on api.insee.fr

Project description

`🇫🇷 Français <https://github.com/sne3ks/api_insee/blob/master/README.fr.md>`__

Python helper to request Sirene API

API Sirene give access to French companies and business database. Entities are recorded since the creation of this administrative register in 1973. To use this API you have to create an account on https://api.insee.fr/

The python library api_insee is a help to request the API Sirene in perfect simplicity. You’ll find more information about the API in the official documentation

Installation

From a terminal :

pip install api-insee

To request the API you must create a consummer account on api.insee.fr. Then with your access keys :

from api_insee import ApiInsee

api = ApiInsee(
    key = # consummer key,
    secret = # secret key
)

Request samples

  • Fetch data from a siret or sirene number

data = api.siren('005520135').get()
data = api.siret('39860733300059').get()


# Request executed:
# https://api.insee.fr/entreprises/sirene/V3/siren/005520135
# https://api.insee.fr/entreprises/sirene/V3/siret/39860733300059
  • Set parameters to the request:

data = api.siren('005520135', date='2018-01-01').get()

# Request executed:
# https://api.insee.fr/entreprises/sirene/V3/siren/005520135?date=2018-01-01
  • Perform an advanced search on given criteria using q= parameter

data = api.siren(q='unitePurgeeUniteLegage:True').get()

# Request executed:
# /?q=unitePurgeeUniteLegage:True
  • Filter fields in the response

champs = [
    'siret',
    'denominationUniteLegale',
    'nomUsageUniteLegale',
    'prenom1UniteLegale',
]

request = api.siret('39860733300059', champs=champs)
# Request executed:
# /39860733300059?champs=siret,denominationUniteLegale,nomUsageUniteLegale,prenom1UniteLegale

Advanced search on criteria

Class in api_insee.criteria let you construct advanced searchs easily. All variables available are described in the official documentation

  • You can combine several criteria in one request.

from api_insee.criteria import Field

data = api.siren(q=(
    Field('codeCommuneEtablissement', 92046),
    Field('unitePurgeeUniteLegale', True)
)).get()


# Request executed:
# /?q=codeCommuneEtablissement:92046 AND unitePurgeeUniteLegale:True
  • Or using a dictionnary

data = api.siren(q={
    'codeCommuneEtablissement' : 92046,
    'unitePurgeeUniteLegale' : True
}).get()


# Request executed:
# /?q=codeCommuneEtablissement:92046 AND unitePurgeeUniteLegale:True
  • Use logical operator |, &, - (not) to specify your requests.

data = api.siren(q=(
    Field('codeCommuneEtablissement', 92046) | Field('unitePurgeeUniteLegale', True)
)).get()

data = api.siren(q=-Field('codeCommuneEtablissement', 92046)).get()

# Request executed:
# /?q=codeCommuneEtablissement:92046 OR unitePurgeeUniteLegale:True
# /?q=-codeCommuneEtablissement:92046

Pagination

The pages() method return an iterator to let you fetch pages from the api. To specify the number of results per page use the nombre argument. Results are limited by 10000 per pages.

from api_insee import ApiInsee

api = ApiInsee(
    key = # consummer key,
    secret = # secret key
)

request = api.siren(q={
    'categorieEntreprise': 'PME'
})

for (page_index, page_result) in enumerate(request.pages(nombre=1000)):
    # process here

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

api_insee-1.6.tar.gz (17.1 kB view details)

Uploaded Source

File details

Details for the file api_insee-1.6.tar.gz.

File metadata

  • Download URL: api_insee-1.6.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.4

File hashes

Hashes for api_insee-1.6.tar.gz
Algorithm Hash digest
SHA256 a7d5f6324e1ed432c7acd16a10e7abfed908fe41fc64c6d669748e75e35f9487
MD5 b6536d7994baf28266d7e82c64062679
BLAKE2b-256 75b25e4e89ad6cdb31440b2a19d2457abcb5b77d19060d36bcc62117de28968a

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