# General Barcode Generation
Generate scan-ready barcode images in 40 common formats.
## API Overview
- **HTTP Protocol:** HTTPS
- **HTTP Method:** POST
- **HTTP Endpoint:** https://api.gugudata.io/v1/barcode
- **Response Type:** application/json; charset=utf-8
- **DEMO Endpoint:** https://api.gugudata.io/v1/barcode/demo
- **Live Demo:** https://gugudata.io/demo/barcode
- **Postman:** https://www.postman.com/gugudata/gugudata-io
- **LLM Page:** https://gugudata.io/details/barcode/llm
- **Raw Markdown:** https://gugudata.io/details/barcode/llm.md
## Remote MCP
- **MCP Endpoint:** https://mcp.gugudata.io/mcp
- **MCP Guide:** https://gugudata.io/mcp/
- **Authorization:** OAuth authorization opens in the browser; do not paste appkeys into MCP clients.
- **Tool Scope:** MCP clients receive GuGuData API tools available to the authorized account.
## Data & API Features
- Forty one-dimensional formats: Generate UPC, EAN, Code 39, Code 128, ISBN, ITF-14, PostNet, Pharmacode, and other established barcode formats.
- Barcode-aware validation: Apply format-specific content, length, and checksum rules before an image is generated.
- Configurable image dimensions: Set the output width and height to fit labels, documents, packaging, and application interfaces.
- Reusable HTTPS image URL: Receive a hosted PNG barcode URL that can be downloaded or placed into downstream documents.
- Retail and publishing workflows: Create product identifiers, ISBN barcodes, price labels, and printable catalog assets.
- Logistics and inventory workflows: Generate machine-readable labels for inventory, shipments, postal operations, and asset tracking.
## API Request Parameters
| Name | Type | Is Required | Default Value | Remark |
| --- | --- | --- | --- | --- |
| appkey | string | true | YOUR_APPKEY | API key used to authenticate the request. |
| type | string | true | CODE128 | One-dimensional barcode symbology. Supported values: UPCA, UPCE, UPCSupplemental2Digit, UPCSupplemental5Digit, EAN13, EAN8, Interleaved2Of5, Interleaved2Of5Mod10, Standard2Of5, Standard2Of5Mod10, Industrial2Of5, Industrial2Of5Mod10, Code39, Code39Extended, Code39Mod43, Codabar, PostNet, Bookland, ISBN, JAN13, MsiMod10, Msi2Mod10, MsiMod11, MsiMod11Mod10, ModifiedPlessey, Code11, Usd8, Code32, Ucc12, Ucc13, Logmars, Code128, Code128A, Code128B, Code128C, Itf14, Code93, Telepen, Fim, and Pharmacode. |
| content | string | true | 123456789012 | Content to encode, from 1 to 512 characters. Format and checksum requirements depend on the selected barcode symbology. |
| width | integer | true | 290 | Output width in pixels. Use 1 for the legacy default width of 290, or an integer from 64 to 2048. |
| height | integer | true | 120 | Output height in pixels. Use 1 for the legacy default height of 120, or an integer from 32 to 2048. |
## API Response Parameters
| Name | Type | Remark |
| --- | --- | --- |
| url | string | HTTPS CDN URL of the generated PNG barcode image. |
## API Response Status Codes
| Status Code | Explanation of Status Code | Remarks |
| --- | --- | --- |
| 200 | Request processed successfully. | Some endpoints expose a separate application-level status field in the response body, such as `dataStatus.statusCode`. |
| 400 | Invalid request parameters or request format. | Check required fields, data types, and request body format. |
| 401 | Missing or unknown application key. | Provide a valid `appkey` with the request. |
| 403 | The application key is recognized but access is not allowed. | The key may be expired, inactive, or not permitted for the requested API. |
| 429 | Request rate or trial usage limit exceeded. | Reduce request frequency and retry with backoff. If a trial allowance is exhausted, check Trial Keys for remaining requests and subscribe to continue. |
| 500 | Internal service error. | Retry later or contact support if the error persists. |
| 503 | Upstream service unavailable. | Retry later; the requested upstream dependency is temporarily unavailable. |
## cURL Example
```bash
curl --location 'https://api.gugudata.io/v1/barcode?appkey=YOUR_APPKEY' --request POST --header 'Content-Type: application/json' --data '{
"type": "CODE128",
"content": "123456789012",
"width": 290,
"height": 120
}'
```