Skip to main content

Onfido Python Client Library

onfido-python on PyPI

The official wrapper for Onfido's API. Refer to the full API documentation for details of expected requests and responses for all resources.

PyPI version

This version uses Onfido API v3.6. Refer to our API versioning guide for details of which client library versions use which versions of the API.

This project supersedes the automatically generated api-python-client library (onfido in PyPI).

Installation

pip install onfido-python

:warning: Having the old onfido package installed at the same time will cause errors.

Getting started

Make API calls by using an instance of the Api class and providing your API token:

import onfido

api = onfido.Api("<YOUR_API_TOKEN>")

Regions

Set the region in the API instance using the region parameter, which takes a value from the Region enum (currently Region.EU, Region.US or Region.CA).

For example, to specify the EU region:

import onfido
from onfido.regions import Region

api = onfido.Api("<YOUR_API_TOKEN>", region=Region.EU)

region does not take a default parameter. Failure to pass a correct region will raise an OnfidoRegionError.

See https://documentation.onfido.com/#regions for more information about our supported regions at a given time.

Timeouts

You can optionally set a global timeout for all requests in the API constructor. This takes a floating number input and each whole integer increment corresponds to a second.

For example, to set a timeout of 1 second:

api = onfido.Api("<YOUR_API_TOKEN>", timeout=1)

The default value for timeout is None, meaning no timeout will be set on the client side.

Response format

The Python library will return JSON requests directly from the API. Each request corresponds to a resource.

All resources share the same interface when making API calls. For example, use .create to create a resource, .find to find one, and .all to fetch all resources.

For example, to create an applicant:

applicant_details = {
  'first_name': 'Jane',
  'last_name': 'Doe',
  'dob': '1984-01-01',
  'address': {
    'street': 'Second Street',
    'town': 'London',
    'postcode': 'S2 2DF',
    'country': 'GBR'
  },
  'location': {
    'ip_address': '127.0.0.1',
    'country_of_residence': 'GBR'
  }
}

api.applicant.create(applicant_details)
{
  'id': '<APPLICANT_ID>',
  'created_at': '2019-10-09T16:52:42Z',
  'sandbox': True,
  'first_name': 'Jane',
  'last_name': 'Doe',
  'email': None,
  'dob': '1990-01-01',
  'delete_at': None,
  'href': '/v3.1/applicants/<APPLICANT_ID>',
  'id_numbers': [],
  'address': {
    'flat_number': None,
    'building_number': None,
    'building_name': None,
    'street': 'Second Street',
    'sub_street': None,
    'town': 'London',
    'state': None,
    'postcode': 'S2 2DF',
    'country': 'GBR',
    'line1': None,
    'line2': None,
    'line3': None
  },
  'phone_number': None,
  'location': {
    'ip_address': '127.0.0.1',
    'country_of_residence': 'GBR'
  }
}

See https://documentation.onfido.com/#request,-response-format for more information.

Resources

Resource information and code examples can be found at https://documentation.onfido.com/.

Error Handling

  • OnfidoServerError is raised whenever Onfido returns a 5xx response
  • OnfidoRequestError is raised whenever Onfido returns a 4xx response
  • OnfidoInvalidSignatureError is raised whenever a signature from the header is not equal to the expected signature you compute for it
  • OnfidoTimeoutError is raised if a timeout occurs
  • OnfidoConnectionError is raised whenever any other network error occurs
  • OnfidoUnknownError is raised whenever something unexpected happens

Contributing

  1. Fork it ( https://github.com/onfido/onfido-python/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Run the tests (poetry run pytest tests/test_my_new_feature.py)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create a new Pull Request

Support

Should you encounter any technical issues during integration, please contact Onfido’s Customer Support team via email, including the word ISSUE: at the start of the subject line.

Alternatively, you can search the support documentation available via the customer experience portal, public.support.onfido.com.

Release files for onfido-python 2.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for onfido-python 2.10.0
File Size Uploaded
onfido_python-2.10.0.tar.gz 11.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for onfido-python 2.10.0
File Interpreter ABI Platform
onfido_python-2.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 30.7 kB

Release files / onfido_python-2.10.0.tar.gz

Download URL onfido_python-2.10.0.tar.gz
Size 11.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a7c24125b9da60556bc038ca9f7e398880a005ffb851fa64da74bbc599950d56
BLAKE2b-256 checksum
How to use checksums
5a5a273d2d040b6eecfcc6d5d337a0832e30d22c4cb5cc372b4894392d3ea729
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / onfido_python-2.10.0-py3-none-any.whl

Download URL onfido_python-2.10.0-py3-none-any.whl
Size 19.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d06d92464a7cdaaeb4229da8ee859b6e9e047628369fca8d1badfdd724933330
BLAKE2b-256 checksum
How to use checksums
81089f3f02ccadcc74bfa6292e2a29aad3bc86c59769c1a488652c426c74ab91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release history Release notifications | RSS feed

6.2.0

2 release files

6.1.0

2 release files

6.0.0

2 release files

5.7.0

2 release files

5.6.0

2 release files

5.5.0

2 release files

5.4.0

2 release files

5.3.0

2 release files

5.2.0

2 release files

5.1.0

2 release files

5.0.0

2 release files

4.6.0

2 release files

4.5.0

2 release files

4.4.0

2 release files

4.3.0

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.0

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.0

2 release files

2.10.1

2 release files

This release

2.10.0 This release

2 release files

2.9.0

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.0

2 release files

2.6.0

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.4.0

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page