Go back to the homepage

API Best Practices

Overview

This document will help assist customers in developing a strategy for using Label Insight data. Datasets are made available via an API or FTP through the Scheduled Delivery service.

Data-Driven or Consumer Facing Solutions

Some customers utilize the data for scientific, marketing or other reasons. The data is consumed programmatically and is not displayed to consumers. Direct real-time API access is acceptable for these systems, provided customers stay within our rate-limits.

Customers that expose Label Insight data to consumers should use batch processing to ingest, store and validate the data on their own systems. The customer can decide whether to use the API or Scheduled Delivery service to retrieve the data.

Batch Processing Example Diagram
Example Batch Processing Flow - Consumer Facing

Batch processing has many advantages.

  • The data can go through a staging/qa process.
  • The customer can roll-back to a previous dataset if needed.
  • The customer can apply their own business logic like:
    • Category Mappings
    • Attribute manipulation
    • Global claims
  • The customer is insulated from:
    • Increased latency (calling external API)
    • Rate limits (our APIs can only be called a certain amount of times per-second - see the respective API documentation for actual values)
    • Outages
    • Changes to data and/or structure

Important Note about Rate Limiting

Label Insight enforces strict rate limits on our APIs to ensure uptime. Many of our APIs can not be called more than five times per second by a single client. For this reason, customers should not use our APIs to directly serve consumers (for example calling the API directly from a website). See the batch processing example above which outlines how to properly integrate our data into your system. For APIs that do not support scheduled delivery via FTP, clients must throttle themselves to not exceed the rate-limit.

Go back to the homepage