Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eansearch/rust-eansearch
Rust library to search the EAN barcode database at EAN-Search.org
https://github.com/eansearch/rust-eansearch
barcode ean ean13 gtin gtin-codes isbn isbn-13 rust upc
Last synced: about 1 month ago
JSON representation
Rust library to search the EAN barcode database at EAN-Search.org
- Host: GitHub
- URL: https://github.com/eansearch/rust-eansearch
- Owner: eansearch
- License: apache-2.0
- Created: 2023-08-01T12:34:05.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-22T19:59:01.000Z (8 months ago)
- Last Synced: 2024-08-09T05:16:06.344Z (5 months ago)
- Topics: barcode, ean, ean13, gtin, gtin-codes, isbn, isbn-13, rust, upc
- Language: Rust
- Homepage: https://www.ean-search.org/ean-database-api.html
- Size: 176 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# EANSearch
Search for products by EAN barcode or product name / keywords
## Features
* Search by EAN code
* Lookup by ISBN code (ISBN-10 or ISBN-13)
* Search by name or keyords
* restrict search by product category
* get the issuing country for the barcode
* verify barcode checksum
* get PNG image for the EAN barcode## How to use
```rust
// search by EAN barcode, product name in English
let eansearch = EANSearch::new(&token);
let product = eansearch.barcode_lookup(5099750442227, Some(1));
let product = product.unwrap(); // unwrap result
let product = product.unwrap();
println!("EAN {} is {}", product.ean, product.name);// search by ISBN code
let eansearch = EANSearch::new(&token);
let book = eansearch.isbn_lookup(1119578884);
let book = book.unwrap(); // unwrap result
let book = book.unwrap();
println!("ISBN-13 {} is {}", book.ean, book.name);// now find all products with the keyword 'bananaboat'
let product_list = eansearch.product_search("bananaboat", Some(1), None);
for p in &product_list.unwrap() {
println!("EAN {:0>13} is {} ({})", p.ean, p.name, p.category_name);
}// only find 'bananaboat' products from the 'Music' category
let product_list = eansearch.category_search(45, Some("bananaboat"), Some(1), None);// download a EANs that start with 509975044xxx
let product_list = eansearch.barcode_prefix_search(509975044, Some(1), None);// find the country where a barcode was issued
let country_lookup = eansearch.issuing_country(5099750442227);// check if this is really a valid barcode
let checksum_ok = eansearch.verify_checksum(5099750442227);// get A PNG image of the barcode to display eg. on a website
let img = eansearch.barcode_image(5099750442227, None, None);```
To use the library, you need an account and obtain an API token.
See [https://www.ean-search.org/ean-database-api.html](https://www.ean-search.org/ean-database-api.html)