Senegal Carte d'Identité CEDEAO OCR Python SDK

Instantly extract data and MRZ from Senegalese IDs using our native Python library.

AI extracting data from a Senegal ID card
StructOCR engine analyzing a Senegalese document and MRZ lines in real-time.

Parsing Carte d'Identité CEDEAO Challenges

Senegalese Carte d'Identité CEDEAO presents unique OCR challenges. Firstly, the document often features a mix of French and potentially some Wolof, requiring robust multilingual support. Secondly, layout variations and inconsistent print quality, particularly in older documents, can hinder accurate data extraction.

Why StructOCR for Senegal

StructOCR's model is specifically trained on a large dataset of Senegalese Carte d'Identité CEDEAO, ensuring high accuracy for id card parsing. It fully supports reading the Machine Readable Zone (MRZ) on the reverse side for rigorous identity verification and global compliance. Our Python SDK simplifies integration with a straightforward API, allowing you to quickly extract key information with minimal coding effort, including the 14 digits structure. We handle image pre-processing and format standardization, reducing complexity.

Common Use Cases in Senegal

  • Digital Onboarding: Verify users for Fintech apps in Senegal.
  • Telecom Registration: Automate SIM card registration with Carte d'Identité CEDEAO.
  • Hotel Check-in: Speed up guest registration workflows.

Live Demo: ID card scanner

No registration required. Upload a file to test the extraction.

1
Upload
2
Results

Drop files here or click to browse

JPG · PNG · WebP  ·  up to 500 files · max 4.5 MB each

No files selected
Need more testing? Create a free account to get 200 free credits (equals 100 National ID scans).

Python SDK Integration

Install the SDK via pip: `pip install structocr`. Then use the following code.

Prerequisite: Python 3.6+ and `structocr` library installed.

from structocr import StructOCR

# 🔑 Need a key for Senegal? Get 200 free credits instantly:
# 👉 https://structocr.com/register
# Initialize with your API Key
client = StructOCR("YOUR_API_KEY_HERE")

def scan_senegal_id():
    # Note: Supports JPG, PNG, WebP (Max 4.5MB)
    # Target: Carte d'Identité CEDEAO
    image_path = "senegal_national_id.jpg"

    try:
        print(f"Scanning {image_path}...")
        
        # The SDK handles file upload and API communication
        # It automatically detects that this is a Senegalese document
        result = client.scan_national_id(image_path)

        # Check success flag (SDK returns a dict matching the JSON response)
        if result.get('success'):
            data = result['data']
            print("✅ Senegal Extraction Successful!")
            
            # Basic Identity
            print(f"Region:      {data.get('country_code')} (Series: {data.get('card_series')})")
            print(f"Name:        {data.get('given_names')} {data.get('surname')}")
            print(f"ID Number:   {data.get('document_number')}")
            
            # Critical Field: Personal Identity Number (CNP/CPF/NIN)
            print(f"Personal #:  {data.get('personal_number')}")
            
            # Demographics
            print(f"DOB:         {data.get('date_of_birth')} ({data.get('sex')})")
            print(f"Address:     {data.get('address')}")

            # Machine Readable Zone (MRZ)
            additional = data.get('additional_fields', {})
            if additional.get('mrz_line_1'):
                print("\n--- MRZ Data ---")
                print(additional.get('mrz_line_1'))
                print(additional.get('mrz_line_2'))
                if additional.get('mrz_line_3'):
                    print(additional.get('mrz_line_3'))
        else:
            print(f"❌ Extraction Failed: {result.get('error')}")

    except Exception as e:
        # Handle SDK or Network errors
        print(f"An error occurred: {e}")

if __name__ == "__main__":
    scan_senegal_id()

Technical Specs

  • Latency: < 4s (Average)
  • Uptime: 99.9% SLA
  • Security: AES-256 Encryption & SOC2 Compliant
  • Input: JPG, PNG, WebP (Max 4.5MB)
  • Output: JSON (Structured Data)

Key Features

  • Native Script Support: Reads English and local characters.
  • MRZ Parsing: Accurately extracts and validates the Machine Readable Zone lines for cross-checking.
  • Blur Detection: Automatically rejects blurry images.
  • Fraud Check: Validates Carte d'Identité CEDEAO number format.
  • Smart Crop: Removes background noise automatically.

JSON Response Example

The SDK returns a Python dictionary matching this JSON structure.

{
  "success": true,
  "data": {
    "type": "national_id",
    "country_code": "SEN",
    "nationality": "SENEGALAISE",
    "document_number": "1 234 1990 12345",
    "card_series": "",
    "personal_number": "1 234 1990 12345",
    "surname": "NDIAYE",
    "given_names": "AMADOU",
    "sex": "M",
    "date_of_birth": "1990-05-15",
    "place_of_birth": "DAKAR",
    "address": "Medina Rue 11, Dakar",
    "date_of_issue": "2020-01-01",
    "date_of_expiry": "2030-01-01",
    "issuing_authority": "Ministère de l'Intérieur",
    "additional_fields": {
      "phone_number": null,
      "tramite_number": null,
      "ejemplar": null,
      "mrz_line_1": "I<SEN1234199012345<<<<<<<<<<<<",
      "mrz_line_2": "9005152M3001017SEN<<<<<<<<<<<8",
      "mrz_line_3": "NDIAYE<<AMADOU<<<<<<<<<<<<<<<<"
    }
  }
}

Frequently Asked Questions

Does the Python SDK handle image uploads?

Yes, the SDK automatically handles base64 encoding and file uploads.

Is data stored?

No. Images are processed in-memory and deleted immediately.

How to handle errors?

The SDK result dictionary contains a 'success' boolean and an 'error' message if failed.

You May Also Like

Related tutorials, platform guides, and comparisons

Country Tutorial

Senegal Passport OCR with Python SDK

Use the official StructOCR Python SDK and FastAPI to extract structured MRZ and VIZ data from Senegal passports with a server-side integration.

Python · Passport
Country Tutorial

Kenya National ID (Maisha Card) OCR Python SDK

Python Tutorial: Automate KYC in Kenya. Extract data, Maisha Namba (UPI), and validate TD1 MRZ from National ID (Maisha Card) using StructOCR Python SDK.

Python · National ID
Tutorial

Python Invoice Line Item OCR API

Struggling with invoice line item extraction? Our Python OCR API delivers structured JSON in under 4s, ensuring 98.5% uptime and SOC2 compliance. Upload an image for a free test! Secure your data.

Python · Invoice
Country Tutorial

Malaysia MyKad OCR Python SDK

Python Tutorial: Automate KYC in Malaysia. Extract data from the Malaysian Identity Card (MyKad) using StructOCR Python SDK. Supports NRIC extraction and multi-line address parsing.

Python · mykad
Country Tutorial

Tanzania NIDA Card OCR Python SDK

Python Tutorial: Automate KYC in Tanzania. Extract data from NIDA Card using StructOCR Python SDK. Supports native text and MRZ extraction.

Python · National ID
Country Tutorial

Kazakhstan Identity Card (Udostoverenie) OCR Python SDK

Python Tutorial: Automate KYC in Kazakhstan. Extract dual-script data, the 12-digit IIN, and validate TD1 MRZ from Identity Card (Udostoverenie) using StructOCR Python SDK.

Python · identity card (udostoverenie)
Country Tutorial

Ethiopia Fayda ID OCR Python SDK

Python Tutorial: Automate KYC in Ethiopia. Extract data from Fayda ID using StructOCR Python SDK. Supports native text.

Python · fayda id
Country Tutorial

Germany Personalausweis OCR Python SDK

Python Tutorial: Automate KYC in Germany. Extract data from Personalausweis and validate TD1 MRZ using StructOCR Python SDK. Supports native German text.

Python · personalausweis
Country Tutorial

Ghana Ghana Card OCR Python SDK

Python Tutorial: Automate KYC in Ghana. Extract data, Personal ID Number, and validate TD1 MRZ from Ghana Card using StructOCR Python SDK.

Python · ghana card
Country Tutorial

Estonia ID-kaart OCR Python SDK

Python Tutorial: Automate KYC in Estonia. Extract data from the Estonian Identity Card (ID-kaart) using StructOCR Python SDK. Supports native text, Isikukood, and MRZ extraction.

Python · id-kaart

Technical Comparisons & Integrations

Explore platform integrations and competitive analysis

From tutorial to production in 5 minutes.

You've seen the code. Now get your API key, grab your 200 free credits, and see it work with your own images. No credit card required.

Instant Access Cancel Anytime 99.9% Uptime