Orchid Estate API Documentation

Orchid Estate API Documentation

ORCHID

Orchid eState™ API Documentation

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.

Endpoint #1 – Legacy: Single UPC Submission

Endpoint

POST https://estateapi.orchid-apps.com/api/submit_upc

Description

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.

Request

The request should be made using the POST method. The request body should be sent as raw JSON.

Request Body Parameters

ParameterTypeDescription
api_keystringAPI key provided by Orchid during implementation
zip_codestringZIP code representing the desired location
upcstringUniversal Product Code (UPC) of the product
Legacy Endpoint Example – Firearms, Silencers, Magazines, and Parts/Accessories
Example Request
Example Response
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"
}
Legacy Endpoint Example – Ammunition
Example Request
Example Response
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"
}

Endpoint #2 – v1: Multiple UPC Submission

Endpoint

POST https://estateapi.orchid-apps.com/api/v1/submit_upc

Description

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.

Request

The request should be made using the POST method. The request body should be sent as raw JSON.

Request Body Parameters

ParameterTypeDescription
api_keystringAPI key provided by Orchid during implementation
zip_codestringZIP code representing the desired location
upcstringUniversal Product Code (UPC) of the product
v1 Endpoint Example – Firearms, Silencers, Magazines, and Parts/Accessories
Example Request
Example Response
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"
}
v1 Endpoint Example – Ammunition
Example Request
Example Response
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"
}

Firearms, Silencers, Magazines & Parts/Accessories Queries

Response

The API response will provide information about product restrictions based on the submitted UPC and ZIP Code.

Response Codes

As of January 1, 2026

ResponseDescription
1Unrestricted
2Restricted
3Roster State
5UPC not found

Testing

You can use the following test ZIP code and test UPCs to simulate different responses:

Test ZIP Code: 21205

Test UPCs:

UPC: 090161045156 → Response: 1 (Unrestricted)
UPC: 845737002367 → Response: 2 (Restricted)
UPC: 022188865813 → Response: 3 (Roster State)
UPC: 123412341234 → Response: 5 (UPC not found)
PLEASE NOTE:
  • API Response codes above are accurate as of January 1, 2026. Changing laws may have impacted the accuracy of the above. If you receive a different response code please contact Orchid.
  • An API Response of "Roster State" indicates the user must check the applicable State Roster to determine legality. Rosters may change daily and without notice to the public.
  • The availability of products may vary based on real time data (e.g., a UPC may no longer be available and was removed from the system).

Ammunition Queries

Response

The API response will provide information about product restrictions, shipping restrictions, and age restrictions based on the submitted UPC and ZIP Code.

Response Codes

As of January 1, 2026

Product Restrictions

ResponseDescription
ARestricted
BNot Restricted
5UPC Not Found

Shipping Restrictions

ResponseDescription
AAShip to Consumer Permitted
BBShip to Consumer Pending License and/or Permit Verification
CCShip to FFL or Dealer
FFRestricted
SHIShip to Consumer Pending Required Age Verification
SNJShotgun Ammo Ship to Consumer Permitted. Handgun & Rifle Ammo Ship to Consumer Pending License and/or Permit Verification.

Age Restrictions

ResponseDescription
AAA18+ Long Gun / 21+ Other Firearms
BBB21+ All Ammo
FFFRestricted
ADE21+ 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
AMD18+ 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).
ANJ18+ for shotgun ammo & rifle ammo for which no handgun exists; 21+ for handgun ammo & rifle ammo that may be used in a handgun.

Testing

You can use the following test ZIP codes and test UPCs to simulate different responses:

UPC: 818778023509

ZIP Code 90232 → Responses: A, FF, FFF
ZIP Code 37219 → Responses: B, AA, AAA
ZIP Code 60020 → Responses: B, BB, AAA
ZIP Code 02804 → Responses: B, BB, BBB
ZIP Code 96712 → Responses: B, SHI, BBB
ZIP Code 07029 → Responses: B, SNJ, ANJ
ZIP Code 14094 → Responses: B, CC, AAA
ZIP Code 19712 → Responses: B, AA, ADE
ZIP Code 20790 → Responses: B, AA, AMD

UPC: 850057976113

ZIP Code 51008 → Responses: A, FF, FFF

UPC: 123412341234

ZIP Code 37138 → Response: 5
PLEASE NOTE:
  • API Response codes above are accurate as of January 1, 2026. Changing laws may have impacted the accuracy of the above. If you receive a different response code please contact Orchid.
  • The availability of products may vary based on real time data (e.g., a UPC may no longer be available and was removed from the system).