Skip to main content

NFC chip encyclopedia API client — look up NFC Forum types, NDEF records, operating modes, ISO 14443, and FeliCa specifications from NFCFYI.

Project description

nfcfyi

PyPI version Python License: MIT

NFC chip encyclopedia API client for Python. Look up NFC chips from NTAG, MIFARE, ST25, FeliCa, and ICODE families, NFC Forum Tag Types 1-5, NDEF record types, operating modes, ISO 14443/15693 standards, and contactless use cases from NFCFYI -- the comprehensive NFC reference with 288 records covering every major chip family in commercial and industrial use.

Extracted from NFCFYI, an NFC technology platform with 288 records spanning chip specifications, manufacturer product lines, security protocols, frequency bands, and deployment guides used by embedded systems engineers, IoT architects, and mobile payment developers worldwide.

Explore NFC at nfcfyi.com -- Chip Explorer | Standards Reference | NDEF Types | Use Cases

nfcfyi demo -- NFC chip lookup, NDEF type reference, and chip comparison in Python

Table of Contents

Install

pip install nfcfyi[api]     # API client (httpx)
pip install nfcfyi[cli]     # + CLI (typer, rich)
pip install nfcfyi[mcp]     # + MCP server
pip install nfcfyi[all]     # Everything

Quick Start

from nfcfyi.api import NFCFYI

with NFCFYI() as api:
    # Search chips, standards, NDEF types, glossary
    results = api.search("ntag")
    print(results)

    # Look up a specific NFC chip
    ntag215 = api.chip("ntag215")
    print(ntag215["name"], ntag215["memory_size"])  # NTAG215 504 bytes

    # Compare two NFC chips side-by-side
    diff = api.compare("ntag213", "ntag215")
    print(diff)

    # Discover a random chip
    surprise = api.random()
    print(surprise["name"])

What You'll Find on NFCFYI

NFCFYI is a comprehensive NFC chip encyclopedia covering chips, standards, NDEF record types, operating modes, and real-world use cases. Near Field Communication (NFC) is a short-range wireless technology operating at 13.56 MHz that enables contactless data exchange between devices within approximately 4 cm -- the foundation of mobile payments (Apple Pay, Google Pay), transit cards (Suica, Oyster), access control, smart posters, product authentication, and IoT device pairing worldwide.

NFC Forum Tag Types (1-5)

The NFC Forum defines five standardized tag types with different memory, speed, and compatibility trade-offs. Each type maps to an underlying ISO standard and radio modulation scheme:

Tag Type Based On Memory Speed Read/Write Example Chips
Type 1 ISO 14443A (Topaz) 96 B - 2 KB 106 kbps R/W or read-only Broadcom Topaz 512
Type 2 ISO 14443A 48 B - 2 KB 106 kbps R/W or read-only NTAG213, NTAG215, NTAG216
Type 3 FeliCa (JIS X 6319-4) Up to 1 MB 212/424 kbps R/W or read-only Sony FeliCa Lite-S, RC-S967
Type 4 ISO 14443A/B Up to 32 KB 106-424 kbps R/W or read-only MIFARE DESFire EV3, ST25TA
Type 5 ISO 15693 (VICC) Up to 64 KB 26.48 kbps R/W or read-only ICODE SLIX2, ST25TV

Type 2 dominance: NTAG 21x chips (Type 2) dominate consumer NFC applications due to low cost ($0.05-0.15 per tag), reliable 106 kbps communication, and broad smartphone compatibility. NTAG213 (144 bytes) suits URLs and small records, NTAG215 (504 bytes) is used for Nintendo Amiibo figures, and NTAG216 (888 bytes) handles vCards and multi-record NDEF messages.

Type 4 for security: MIFARE DESFire EV3 (Type 4) provides AES-128 encryption, mutual authentication, and up to 8 independent applications on a single card -- the standard for corporate access control, transit systems, and government identity programs requiring tamper-resistant credential storage.

Learn more: Chip Explorer | Glossary

NDEF Record Types

NFC Data Exchange Format (NDEF) is the standard message format for NFC tags. Each NDEF message contains one or more records, identified by a Type Name Format (TNF) field and a record type:

Record Type TNF Type String Description
Text 0x01 (Well Known) T Plain text with language code (e.g. "en", "ja")
URI 0x01 (Well Known) U URLs with prefix abbreviation (0x01=http://www., 0x02=https://www.)
Smart Poster 0x01 (Well Known) Sp URI + title + action + icon for interactive posters
Handover Select 0x01 (Well Known) Hs Bluetooth/Wi-Fi handover negotiation
MIME 0x02 (Media-type) varies vCard (text/vcard), Wi-Fi config, Bluetooth OOB
External 0x04 (External) varies Custom application-specific records
Android App Record 0x04 (External) android.com:pkg Launches specific Android app on tap

URI prefix abbreviation: The NDEF URI record type compresses common URL prefixes into a single byte -- 0x01 for http://www., 0x02 for https://www., 0x03 for http://, 0x04 for https://, and 30+ other prefixes including tel:, mailto:, and ftp://. This saves 7-15 bytes per record, critical for memory-constrained Type 2 tags.

Learn more: NDEF Types | Use Cases

Operating Modes

NFC devices operate in three primary modes, each serving different interaction patterns:

Mode Device Role Initiator Use Cases
Read/Write Active reader + passive tag Reader Smart posters, product authentication, inventory
Card Emulation Device emulates passive card External reader Apple Pay, Google Pay, transit cards, access control
Peer-to-Peer Two active devices Either Android Beam (deprecated), device pairing, data sharing

Host Card Emulation (HCE): Android 4.4+ introduced HCE, allowing apps to emulate NFC cards without a hardware Secure Element. HCE routes APDU commands from the NFC controller directly to an Android service, enabling cloud-based payment tokens and custom card emulation applications. Apple restricts card emulation to Apple Pay via the Secure Enclave.

Chip Families

Major NFC chip product lines from leading manufacturers:

Family Manufacturer Tag Type Memory Range Key Feature
NTAG 21x NXP Type 2 144-888 bytes Most popular, Amiibo (NTAG215), low-cost
NTAG I2C NXP Type 2 1-2 KB I2C interface for MCU bridging
MIFARE Ultralight NXP Type 2 64-192 bytes Transit ticketing, single-ride tokens
MIFARE DESFire NXP Type 4 2-8 KB AES-128 crypto, multi-application
MIFARE Classic NXP Proprietary 1-4 KB Legacy access control, Crypto-1 (broken)
ST25TA STMicroelectronics Type 4 256 B - 64 KB Augmented NDEF, tamper detection
ST25TV STMicroelectronics Type 5 256 B - 64 KB VICC, long-range, anti-counterfeiting
FeliCa Sony Type 3 Up to 1 MB Suica, PASMO, high-speed 424 kbps transit
ICODE NXP Type 5 128 B - 8 KB Library books, logistics, longer range

MIFARE Classic vulnerability: MIFARE Classic's proprietary Crypto-1 cipher was reverse-engineered in 2008. The key recovery attack (MFOC/MFCUK) can extract all sector keys in seconds. New deployments should use MIFARE DESFire EV3 or NTAG 424 DNA with AES-128 authentication.

Learn more: Chip Explorer | Standards Reference

NFC vs RFID vs BLE

Feature NFC (13.56 MHz) HF RFID (13.56 MHz) UHF RFID (860-960 MHz) BLE
Range ~4 cm ~1 m 1-12 m 10-100 m
Frequency 13.56 MHz 13.56 MHz 860-960 MHz 2.4 GHz
Power Source Reader field Reader field Reader field Battery
Data Rate 106-424 kbps 26-424 kbps 40-640 kbps 1-2 Mbps
Standards ISO 14443, 18092 ISO 14443, 15693 ISO 18000-63, EPC Gen2 Bluetooth 4.0-5.4
Bidirectional Yes (peer-to-peer) Limited No (backscatter only) Yes
Phone Support Native (iOS/Android) Requires external reader Requires external reader Native

Security and Authentication

Modern NFC chips implement multiple security layers for product authentication, access control, and payment applications:

Feature NTAG 213/215/216 NTAG 424 DNA MIFARE DESFire EV3
Password Protection 32-bit password AES-128 AES-128/192/256
Dynamic URL (SUN) No Yes (per-tap counter) No
Mutual Authentication No Yes (LRP protocol) Yes (EV2/EV3 auth)
Message Authentication No CMAC (AES) CMAC (AES)
Originality Signature ECDSA ECDSA ECDSA
Applications 1 1 Up to 8 independent apps

NTAG 424 DNA (DNA = Digital NFC Authentication) generates a unique encrypted URL on every tap, enabling cloud-based product authentication without specialized readers. Each tap increments a counter and produces a fresh AES-CMAC signature, making cloning practically impossible.

Key NFC Standards

Standard Organization Scope
ISO/IEC 14443 A/B ISO Proximity cards -- modulation, anti-collision, transmission
ISO/IEC 15693 ISO Vicinity cards -- longer read range, lower data rate
ISO/IEC 18092 (NFCIP-1) ISO NFC interface and protocol -- active/passive communication
ISO/IEC 21481 (NFCIP-2) ISO NFC operating mode selection
JIS X 6319-4 JISC FeliCa contactless IC card standard
GlobalPlatform GP Secure element management for card emulation
EMV Contactless (Books A-D) EMVCo Contactless payment terminal specifications

Learn more: Standards Reference | Glossary

API Endpoints

Free, no authentication required. JSON responses with CORS enabled.

Method Endpoint Description
GET /api/chip/{slug}/ NFC chip detail with specs
GET /api/chip-family/{slug}/ Chip family with product line
GET /api/standard/{slug}/ Standard detail with linked chips
GET /api/operating-mode/{slug}/ Operating mode detail
GET /api/ndef-type/{slug}/ NDEF record type detail
GET /api/use-case/{slug}/ Use case with recommended chips
GET /api/term/{slug}/ Glossary term definition
GET /api/search/?q={query} Search across all content types
GET /api/compare/?a={slug}&b={slug} Compare two chips
GET /api/random/ Random chip discovery
GET /api/openapi.json OpenAPI 3.1.0 specification

Example

# Search for NTAG chips
curl -s "https://nfcfyi.com/api/search/?q=ntag" | python -m json.tool

Full API documentation at nfcfyi.com/api/. OpenAPI 3.1.0 spec: nfcfyi.com/api/openapi.json.

Command-Line Interface

nfcfyi search "ntag"                  # Search all content
nfcfyi chip ntag215                   # Chip detail
nfcfyi compare ntag213 ntag215        # Side-by-side comparison
nfcfyi random                         # Discover a random chip

MCP Server (Claude, Cursor, Windsurf)

{
    "mcpServers": {
        "nfcfyi": {
            "command": "uvx",
            "args": ["--from", "nfcfyi[mcp]", "python", "-m", "nfcfyi.mcp_server"]
        }
    }
}

Tools: nfc_search, nfc_lookup, nfc_compare

REST API Client

from nfcfyi.api import NFCFYI

with NFCFYI() as api:
    api.search("ntag")                     # Full-text search
    api.chip("ntag215")                    # Chip detail
    api.chip_family("ntag-21x")            # Chip family
    api.standard("iso-14443")              # Standard detail
    api.operating_mode("read-write")       # Operating mode
    api.ndef_type("uri")                   # NDEF record type
    api.use_case("access-control")         # Use case
    api.glossary_term("ndef")              # Glossary term
    api.compare("ntag213", "ntag215")      # Compare two chips
    api.random()                           # Random discovery
    api.openapi()                          # OpenAPI 3.1.0 spec

Learn More About NFC

Also Available

Platform Install Link
npm npm install nfcfyi npm
Go go get github.com/fyipedia/nfcfyi-go pkg.go.dev
Rust cargo add nfcfyi crates.io
Ruby gem install nfcfyi rubygems.org
MCP uvx --from "nfcfyi[mcp]" python -m nfcfyi.mcp_server Config

Tag FYI Family

Part of the FYIPedia open-source developer tools ecosystem -- automatic identification and data capture technologies.

Site Domain Focus
BarcodeFYI barcodefyi.com 518 records -- barcode symbologies, standards, GS1 prefixes
QRCodeFYI qrcodefyi.com 425 records -- QR code types, versions, encoding modes
NFCFYI nfcfyi.com 288 records -- NFC chips, NDEF records, standards
BLEFYI blefyi.com 261 records -- BLE chips, GATT profiles, beacons
RFIDFYI rfidfyi.com 318 records -- RFID tags, frequency bands, EPC schemes
SmartCardFYI smartcardfyi.com 280 records -- smart cards, EMV, Java Card, platforms

FYIPedia Developer Tools

Package PyPI npm Description
barcodefyi PyPI npm Barcode symbologies, standards -- barcodefyi.com
qrcodefyi PyPI npm QR code types, versions, encoding -- qrcodefyi.com
nfcfyi PyPI npm NFC chips, NDEF, standards -- nfcfyi.com
blefyi PyPI npm BLE profiles, beacons, chips -- blefyi.com
rfidfyi PyPI npm RFID tags, readers, frequencies -- rfidfyi.com
smartcardfyi PyPI npm Smart cards, EMV, platforms -- smartcardfyi.com

License

MIT

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

nfcfyi-0.1.1.tar.gz (666.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nfcfyi-0.1.1-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file nfcfyi-0.1.1.tar.gz.

File metadata

  • Download URL: nfcfyi-0.1.1.tar.gz
  • Upload date:
  • Size: 666.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nfcfyi-0.1.1.tar.gz
Algorithm Hash digest
SHA256 94f465d8d1cf4b69e425d442e9a693cf21bf17a9b0d2f4fa6cd5a351df311f5d
MD5 32140309e9122de6f9a21e5bf4f5c226
BLAKE2b-256 3b3aeea1051e57ed6bc00a871027deac8dae2f0d2ccea53f5d08b6516ebcb122

See more details on using hashes here.

File details

Details for the file nfcfyi-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: nfcfyi-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nfcfyi-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a2f03d68bdc65c4fc2c0ff2725eebe25372229b8fa830d3bc4d136778ad79872
MD5 05298ff23ad412b276d61486b119cbec
BLAKE2b-256 3c858c67bd5619c03c0420da7235331748195d7046ff0e191e1e63b1171cc438

See more details on using hashes here.

Supported by

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