EUDR URL Patterns
GS1 Digital Link URL patterns for EUDR implementations
This page documents the GS1 Digital Link URL patterns used in EUDR implementations.
Base URL Structure
All identifiers use the GS1 Digital Link standard:
https://id.gs1.org/{ai}/{value}
Product Identifiers (SGTIN)
Products are identified using GTIN + Serial Number:
https://id.gs1.org/01/{GTIN}/21/{Serial}
Examples:
| Product | URL |
|---|---|
| Timber log | https://id.gs1.org/01/09521234000020/21/LOG-2025-001 |
| Furniture | https://id.gs1.org/01/09521234000037/21/TABLE-2025-001 |
Breakdown:
https://id.gs1.org/01/09521234000020/21/LOG-2025-001
│ │ │ │
│ │ │ └── Serial Number (AI-21)
│ │ └── Application Identifier
│ └── GTIN (14 digits)
└── Application Identifier
Location Identifiers (GLN)
Locations use Global Location Numbers:
https://id.gs1.org/414/{GLN}
Examples:
| Location | URL |
|---|---|
| Plot of Land | https://id.gs1.org/414/9521234000099 |
| Processing Facility | https://id.gs1.org/414/9521234000105 |
Organization Identifiers (Party GLN)
Organizations use Party GLNs:
https://id.gs1.org/417/{GLN}
Examples:
| Organization | URL |
|---|---|
| Timber Producer | https://id.gs1.org/417/9521234000006 |
| Furniture Manufacturer | https://id.gs1.org/417/9521234000105 |
Device Identifiers (GIAI)
GPS devices and sensors use Global Individual Asset Identifier:
https://id.gs1.org/8004/{GIAI}
Example:
https://id.gs1.org/8004/9521234000006-GPS-001
Content Negotiation
GS1 Digital Link resolvers support content negotiation:
| Accept Header | Response |
|---|---|
application/ld+json | JSON-LD product data |
application/json | JSON product data |
text/html | Human-readable web page |
Example Request:
curl -H "Accept: application/ld+json" \
https://id.gs1.org/01/09521234000020/21/LOG-2025-001
Link Types
Access related data using link types:
| Link Type | Purpose | URL Pattern |
|---|---|---|
| EPCIS Events | Event history | ?linkType=epcis |
| Master Data | Product details | ?linkType=masterData |
| Certification | Certificates | ?linkType=certificationInfo |
| Recall | Recall info | ?linkType=recallStatus |
The ?linkType= query parameter takes the bare GS1 relation name (per the GS1 Digital Link spec). The same relations appear as full IRIs (https://ref.gs1.org/voc/epcis, …) when keyed in an IETF linkset response.
Example - Get EPCIS Events:
https://id.gs1.org/01/09521234000020/21/LOG-2025-001?linkType=epcis
Event Identifiers
EPCIS events use UUIDs:
urn:uuid:{uuid}
Example:
urn:uuid:550e8400-e29b-41d4-a716-446655440020
Business Transaction References
Transactions use URIs to reference documents:
| Transaction Type | Example URL |
|---|---|
| Purchase Order | https://example.com/orders/PO-2025-001 |
| Due Diligence Report | https://example.com/eudr/due-diligence/LOG-2025-001.pdf |
| Certificate | https://fsc.org/en/certificate/FSC-C123456 |
Master Data Linking
Link EPCIS events to master data using masterDataAvailableFor:
{
"epcList": [{
"@id": "https://id.gs1.org/01/09521234000020/21/LOG-2025-001",
"masterDataAvailableFor": {
"@id": "https://id.gs1.org/01/09521234000020/21/LOG-2025-001"
}
}]
}
This pattern indicates that detailed master data can be retrieved by resolving the @id.
Geolocation in URLs
While geolocation data is stored in master data (not URLs), the plot of land identifier links to it:
{
"eudr:originDetails": {
"@id": "https://id.gs1.org/414/9521234000099",
"masterDataAvailableFor": {
"@id": "https://id.gs1.org/414/9521234000099"
}
}
}
Resolving the GLN returns the plot details including polygon coordinates.
Regulatory Reference Numbers
EUIS reference numbers are stored as strings, not URLs:
{
"regulatoryIdentifier": [{
"regulatoryReferenceNumber": "EUIS-2025-DE-00012345",
"regulatoryIdentifierType": "DUE_DILIGENCE_STATEMENT"
}]
}
Format: EUIS-{YEAR}-{COUNTRY}-{NUMBER}
Example URLs by Scenario
Timber Harvest Chain
Plot of Land: https://id.gs1.org/414/9521234000099
Producer: https://id.gs1.org/417/9521234000006
Timber Log: https://id.gs1.org/01/09521234000020/21/LOG-2025-001
Processing Plant: https://id.gs1.org/414/9521234000105
Manufacturer: https://id.gs1.org/417/9521234000105
Furniture: https://id.gs1.org/01/09521234000037/21/TABLE-2025-001
Querying Product History
# Get product master data
curl -H "Accept: application/ld+json" \
"https://id.gs1.org/01/09521234000020/21/LOG-2025-001"
# Get EPCIS event history
curl -H "Accept: application/ld+json" \
"https://id.gs1.org/01/09521234000020/21/LOG-2025-001?linkType=epcis"
# Get source plot details
curl -H "Accept: application/ld+json" \
"https://id.gs1.org/414/9521234000099"
Best Practices
- Use GS1 Company Prefix for all identifiers
- Always include serial numbers for traceability
- Link master data consistently using
masterDataAvailableFor - Use standard link types for content negotiation
- Store EUIS references as strings, not URLs