Inventory and pricing API

Production endpoints:
https://transact.ti.com/v2/store/products/
https://transact.ti.com/v2/store/products/catalog

The inventory and pricing API provides real-time inventory availability and pricing for orderable part numbers (OPN) and generic part numbers (GPN). You can also use it to pull a complete catalog of all available TI part numbers.

Before placing an order, check the individual item availability. Push vs. retrieve implementations:

  • Retrieve: Make an API call to get the latest data whenever needed.
  • Push (webhooks): Receive real-time notifications when specific parts become available. Use this to trigger automated workflows (see push notifications for more information).

Important rate limits: The catalog API is restricted to 1 request every 4 hours (6 requests per day). Exceeding this limit can restrict or revoke your API access. See rate limits for additional details.

Inventory and pricing flow

  1. Authenticate: Use your your assigned API key and secret to get an access token.
  2. Send a request: Include the desired OPN in your request. You can make multiple requests with the same valid access token.
  3. API response: You’ll receive a status code (200 OK) and a JSON string containing product data:
    • Availability: “quantity” field shows the number of items currently in stock.
    • Pricing: Included in the JSON response (specific format depends on the API).
    • Future availability:
      • “Future Inventory” will return estimated dates and quantities for upcoming inventory.
      • “forecastQuantity” might be null if unknown.
      • "forecastDate" represents the week of availability and not the actual date of availability. Both dates and quantities are forecasts only and are not to be considered committed. 
  • Order limits: “limit’ field shows the maximum allowed quantity per order for this item (blank if no limit).
  • Additional options: See the API specification for more query parameters to refine your search.

Important notes:

  • Future inventory information might not be available for all parts.
  • Inventory is allocated on a first-come, first-served basis and cannot be reserved.
  • Consider setting up an inventory subscription for real-time notifications when additional inventory becomes available.

Example

The example below, illustrating how to retrieve inventory availability and pricing information per product, is querying part number AFE7799IABJ.

  • The available inventory is 5,435 ("quantity:" 5435).
  • However, in this example, the quantity is restricted to a limit of 50 ("limit:" 50) units per order.
  • If the product does not have an order limit, the JSON response will return a blank value in the limit field.
  • For additional query parameters, see the specification below.  

 

Request example:

curl --request GET \   
--url 'https://transact.ti.com/v2/store/products/AFE7799IABJ?currency=USD' \
--header 'Authorization: Bearer {access_token}' \


Response for a successful request:

{
  "tiPartNumber": "AFE7799IABJ",
  "genericPartNumber": "AFE7799",
  "buyNowURL": "https://www.ti.com/product/AFE7799/part-details/AFE7799IABJ",
  "quantity": 5435,
  "limit": 50,
  "pricing": [
    {
      "currency": "USD",
      "priceBreaks": [
        {
          "priceBreakQuantity": 1,
          "price": 2.03
        },
        {
          "priceBreakQuantity": 10,
          "price": 1.43
        },
        {
          "priceBreakQuantity": 25,
          "price": 1.35
        },      
"futureInventory": [
        {
            "forecastQuantity": 500,
            "forecastDate": "2023-06-25"
        },
        {
            "forecastQuantity": null,
            "forecastDate": "2023-07-02"
        }    ],
  "description": "8-Bit 200MSPS Low-Power Analog-to-Digital Converter (ADC) With Internal Sample and Hold",
  "minimumOrderQuantity": 1,
  "standardPackQuantity": 126,
  "exportControlClassificationNumber": "EAR99",
  "htsCode": "8542390001",
  "pinCount": 5,
  "packageType": "SOT-23 (DBV)",
  "packageCarrier": "Large T&R",
  "customReel": true,
  "lifeCycle": "ACTIVE"
}