Orchid eState™ has two API endpoints, each with their own submission and response formats. One endpoint permits submission of only a single UPC per API call. The other endpoint permits submission of multiple UPCs per API call. Each endpoint, example requests, and expected responses are identified below.
Below the example requests and responses, you will find the current API response codes for queries of firearms, magazines, silencers, parts/accessories, and ammunition.
POST https://estateapi.orchid-apps.com/api/submit_upc
This API endpoint allows you to submit a Universal Product Code (UPC) along with a ZIP code to retrieve information about the product's availability in the specified location.
The request should be made using the POST method. The request body should be sent as raw JSON.
| Parameter | Type | Description |
|---|---|---|
api_key | string | API key provided by Orchid during implementation |
zip_code | string | ZIP code representing the desired location |
upc | string | Universal Product Code (UPC) of the product |
POST https://estateapi.orchid-apps.com/api/submit_upc
Content-Type: application/json
{
"api_key": "aaaacccc-bbbb-9999-dddd-19d9bf4b94cb",
"zip_code": "21205",
"upc": "090161045156"
}
{
"status": 1,
"data": {
"response": 1
},
"msg": "The API Key is Valid"
}POST https://estateapi.orchid-apps.com/api/submit_upc
Content-Type: application/json
{
"api_key": "aaaacccc-bbbb-9999-dddd-19d9bf4b94cb",
"zip_code": "37138",
"upc": "8605003812982"
}
{
"status": 1,
"data": {
"response": [
{
"restriction": "B",
"shipping_restriction": "AA",
"age_restriction": "AAA"
}
]
},
"msg": "The API Key is Valid"
}POST https://estateapi.orchid-apps.com/api/v1/submit_upc
This API endpoint allows you to submit one or more Universal Product Code(s) (UPC) along with a ZIP code to retrieve information about the product's availability in the specified location.
The request should be made using the POST method. The request body should be sent as raw JSON.
| Parameter | Type | Description |
|---|---|---|
api_key | string | API key provided by Orchid during implementation |
zip_code | string | ZIP code representing the desired location |
upc | string | Universal Product Code (UPC) of the product |
POST https://estateapi.orchid-apps.com/api/v1/submit_upc
Content-Type: application/json
{
"api_key": "aaaacccc-bbbb-9999-dddd-19d9bf4b94cb",
"zip_code": "90001",
"upc": "011356330406, 747115463398, 798681682683"
}
{
"status": 1,
"data": {
"response": {
"011356330406": {
"restriction": 1
},
"747115463398": {
"restriction": 1
},
"798681682683": {
"restriction": 2
}
}
},
"msg": "The API Key is Valid"
}POST https://estateapi.orchid-apps.com/api/v1/submit_upc
Content-Type: application/json
{
"api_key": "64d8ebe7-a6f0-406c-97a2-08993aed5ba8",
"zip_code": "90001",
"upc": "8605003812982, 8605003812746, 719006453610"
}
{
"status": 1,
"data": {
"response": {
"8605003812982": {
"restriction": "B",
"shipping_restriction": "CC",
"age_restriction": "AAA"
},
"8605003812746": {
"restriction": "B",
"shipping_restriction": "CC",
"age_restriction": "AAA"
},
"719006453610": {
"restriction": "A",
"shipping_restriction": "FF",
"age_restriction": "FFF"
}
}
},
"msg": "The API Key is Valid"
}The API response will provide information about product restrictions based on the submitted UPC and ZIP Code.
As of January 1, 2026
| Response | Description |
|---|---|
1 | Unrestricted |
2 | Restricted |
3 | Roster State |
5 | UPC not found |
You can use the following test ZIP code and test UPCs to simulate different responses:
Test ZIP Code: 21205
Test UPCs:
The API response will provide information about product restrictions, shipping restrictions, and age restrictions based on the submitted UPC and ZIP Code.
As of January 1, 2026
| Response | Description |
|---|---|
A | Restricted |
B | Not Restricted |
5 | UPC Not Found |
| Response | Description |
|---|---|
AA | Ship to Consumer Permitted |
BB | Ship to Consumer Pending License and/or Permit Verification |
CC | Ship to FFL or Dealer |
FF | Restricted |
SHI | Ship to Consumer Pending Required Age Verification |
SNJ | Shotgun Ammo Ship to Consumer Permitted. Handgun & Rifle Ammo Ship to Consumer Pending License and/or Permit Verification. |
| Response | Description |
|---|---|
AAA | 18+ Long Gun / 21+ Other Firearms |
BBB | 21+ All Ammo |
FFF | Restricted |
ADE | 21+ OR 18+ if purchaser: (a) holds license to carry concealed; (b) is US Armed Forces; (c) is National Guard; (d) is a law enforcement officer |
AMD | 18+ OR 21+ if the ammo is "solely designed for" either: handguns OR the list of firearms identified at MD Public Safety Article 5-101(r)(2). |
ANJ | 18+ for shotgun ammo & rifle ammo for which no handgun exists; 21+ for handgun ammo & rifle ammo that may be used in a handgun. |
You can use the following test ZIP codes and test UPCs to simulate different responses:
UPC: 818778023509
90232 → Responses: A, FF, FFF37219 → Responses: B, AA, AAA60020 → Responses: B, BB, AAA02804 → Responses: B, BB, BBB96712 → Responses: B, SHI, BBB07029 → Responses: B, SNJ, ANJ14094 → Responses: B, CC, AAA19712 → Responses: B, AA, ADE20790 → Responses: B, AA, AMDUPC: 850057976113
51008 → Responses: A, FF, FFFUPC: 123412341234
37138 → Response: 5