nfcfyi

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 6, 2026 License: MIT Imports: 5 Imported by: 0

README

nfcfyi-go

Go Reference

Go client for the NFCFYI API. Look up NFC chips, chip families, standards, operating modes, NDEF types, and use cases. Zero dependencies — stdlib only.

Install

go get github.com/fyipedia/nfcfyi-go

Quick Start

package main

import (
    "fmt"
    "log"

    nfcfyi "github.com/fyipedia/nfcfyi-go"
)

func main() {
    client := nfcfyi.NewClient()

    result, err := client.Search("ntag")
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("Found %d results for 'ntag'\n", result.Total)

    chip, err := client.Chip("ntag215")
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("%s: %s\n", chip.Name, chip.Description)
}

API Methods

Method Description
Search(query) Search chips, standards, and glossary
Chip(slug) Get NFC chip details
ChipFamily(slug) Get chip family details
Standard(slug) Get standard details
OperatingMode(slug) Get operating mode details
NdefType(slug) Get NDEF type details
UseCase(slug) Get use case details
GlossaryTerm(slug) Get glossary term definition
Compare(slugA, slugB) Compare two NFC chips
Random() Get a random NFC chip

REST API

Free, no authentication required. Base URL: https://nfcfyi.com/api

curl https://nfcfyi.com/api/search/?q=ntag
curl https://nfcfyi.com/api/chip/ntag215/
curl https://nfcfyi.com/api/random/

Full OpenAPI spec: https://nfcfyi.com/api/openapi.json

Also Available

Language Package Install
Python nfcfyi pip install nfcfyi
TypeScript nfcfyi npm install nfcfyi
Go nfcfyi-go go get github.com/fyipedia/nfcfyi-go
Rust nfcfyi cargo add nfcfyi
Ruby nfcfyi gem install nfcfyi

Code FYI Family

Site Domain Focus
BarcodeFYI barcodefyi.com Barcode symbologies and standards
QRCodeFYI qrcodefyi.com QR code types and encoding
NFCFYI nfcfyi.com NFC chips and standards
BLEFYI blefyi.com Bluetooth Low Energy profiles
RFIDFYI rfidfyi.com RFID tags and frequencies
SmartCardFYI smartcardfyi.com Smart card platforms and standards

License

MIT

Documentation

Overview

Package nfcfyi provides a Go client for the NFCFYI API.

NFCFYI is a comprehensive NFC reference covering chips, chip families, standards, operating modes, NDEF types, and use cases. This client requires no authentication and has zero external dependencies.

Usage:

client := nfcfyi.NewClient()
result, err := client.Search("ntag")

Index

Constants

View Source
const DefaultBaseURL = "https://nfcfyi.com/api"

DefaultBaseURL is the default base URL for the NFCFYI API.

Variables

This section is empty.

Functions

This section is empty.

Types

type ChipDetail

type ChipDetail struct {
	Name        string `json:"name"`
	Slug        string `json:"slug"`
	Description string `json:"description"`
	Family      string `json:"family"`
	URL         string `json:"url"`
}

ChipDetail represents an NFC chip.

type ChipFamilyDetail

type ChipFamilyDetail struct {
	Name        string `json:"name"`
	Slug        string `json:"slug"`
	Description string `json:"description"`
	URL         string `json:"url"`
}

ChipFamilyDetail represents an NFC chip family.

type Client

type Client struct {
	BaseURL    string
	HTTPClient *http.Client
}

Client is an NFCFYI API client.

func NewClient

func NewClient() *Client

NewClient creates a new NFCFYI API client with default settings.

func (*Client) Chip

func (c *Client) Chip(slug string) (*ChipDetail, error)

Chip returns details for an NFC chip by slug.

func (*Client) ChipFamily

func (c *Client) ChipFamily(slug string) (*ChipFamilyDetail, error)

ChipFamily returns details for an NFC chip family by slug.

func (*Client) Compare

func (c *Client) Compare(slugA, slugB string) (*CompareResult, error)

Compare compares two NFC chips.

func (*Client) GlossaryTerm

func (c *Client) GlossaryTerm(slug string) (*GlossaryTerm, error)

GlossaryTerm returns a glossary term by slug.

func (*Client) NdefType

func (c *Client) NdefType(slug string) (*NdefTypeDetail, error)

NdefType returns details for an NDEF type by slug.

func (*Client) OperatingMode

func (c *Client) OperatingMode(slug string) (*OperatingModeDetail, error)

OperatingMode returns details for an NFC operating mode by slug.

func (*Client) Random

func (c *Client) Random() (*ChipDetail, error)

Random returns a random NFC chip.

func (*Client) Search

func (c *Client) Search(query string) (*SearchResult, error)

Search searches across NFC chips, standards, and glossary terms.

func (*Client) Standard

func (c *Client) Standard(slug string) (*StandardDetail, error)

Standard returns details for an NFC standard by slug.

func (*Client) UseCase

func (c *Client) UseCase(slug string) (*UseCaseDetail, error)

UseCase returns details for an NFC use case by slug.

type CompareResult

type CompareResult struct {
	ChipA interface{} `json:"chip_a"`
	ChipB interface{} `json:"chip_b"`
	URL   string      `json:"url"`
}

CompareResult represents a comparison between two NFC chips.

type GlossaryTerm

type GlossaryTerm struct {
	Term       string `json:"term"`
	Slug       string `json:"slug"`
	Definition string `json:"definition"`
	URL        string `json:"url"`
}

GlossaryTerm represents a glossary term.

type NdefTypeDetail

type NdefTypeDetail struct {
	Name        string `json:"name"`
	Slug        string `json:"slug"`
	Description string `json:"description"`
	URL         string `json:"url"`
}

NdefTypeDetail represents an NDEF type.

type OperatingModeDetail

type OperatingModeDetail struct {
	Name        string `json:"name"`
	Slug        string `json:"slug"`
	Description string `json:"description"`
	URL         string `json:"url"`
}

OperatingModeDetail represents an NFC operating mode.

type SearchItem

type SearchItem struct {
	Name string `json:"name"`
	Slug string `json:"slug"`
	Type string `json:"type"`
	URL  string `json:"url"`
}

SearchItem represents a single search result item.

type SearchResult

type SearchResult struct {
	Query   string       `json:"query"`
	Results []SearchItem `json:"results"`
	Total   int          `json:"total"`
}

SearchResult represents the API search response.

type StandardDetail

type StandardDetail struct {
	Name        string `json:"name"`
	Slug        string `json:"slug"`
	Description string `json:"description"`
	URL         string `json:"url"`
}

StandardDetail represents an NFC standard.

type UseCaseDetail

type UseCaseDetail struct {
	Name        string `json:"name"`
	Slug        string `json:"slug"`
	Description string `json:"description"`
	URL         string `json:"url"`
}

UseCaseDetail represents an NFC use case.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL