# DataLink (Push Delivery)
Source: https://docs.chain.link/datalink/push-delivery/overview

> For the complete documentation index, see [llms.txt](/llms.txt).

DataLink push-based feeds provide access to specialized data from Data Providers through direct onchain delivery, enabling smart contracts to read the latest data values without additional offchain infrastructure.

## Key Characteristics

- **Specialized market data**: Access specialized datasets directly from individual Data Providers
- **Push Delivery**: Data is automatically updated onchain by Decentralized Oracle Networks (DONs)
- **Smart contract integration**: Read data directly in your smart contracts using standard interfaces
- **Proven architecture**: Built on Chainlink's battle-tested aggregation infrastructure with robust data quality mechanisms

> **NOTE: Familiar Integration Pattern**
>
> Push-based DataLink feeds use the **same smart contract interfaces** as Chainlink Data Feeds, including
> `AggregatorV3Interface`. This ensures a familiar developer experience and easy migration from existing integrations.

## How It Works

1. **Data Providers** submit specialized data to Chainlink Decentralized Oracle Networks (DONs)
2. **DONs** aggregate and validate the data using consensus mechanisms
3. **Smart contracts** automatically receive updated values onchain through aggregator contracts
4. **Applications** read the latest data directly from smart contracts using standard interfaces

This push-based model eliminates the need for offchain data fetching while maintaining cryptographic security and data integrity.

## Integration Methods

### Smart Contract Integration

Read data directly in your smart contracts using the [`AggregatorV3Interface`](/datalink/push-delivery/api-reference#aggregatorv3interface):

- **Latest data**: Get the most recent price and timestamp
- **Historical data**: Access previous rounds of data updates

### Offchain Integration

Access feed data from external applications using Web3 libraries:

- **JavaScript/TypeScript**: Using web3.js or ethers.js
- **Python**: Using Web3.py
- **Other languages**: Any Web3-compatible library

## Getting Started

### 1. Choose Your Integration Method

- **Smart Contract**: Integrate directly in Solidity contracts for automated onchain logic
- **Offchain Application**: Read data from external applications using Web3 libraries

### 2. Find Your Data Provider

Browse the [Provider Catalog](/datalink/provider-catalog) to find Data Providers offering the specialized data you need.

### 3. Follow the Tutorials

Start with our step-by-step [Tutorials](/datalink/push-delivery/tutorials) covering:

- Using DataLink feeds in smart contracts
- Reading feeds from offchain applications
- Best practices for data validation and error handling

### 4. Reference Documentation

Consult the [API Reference](/datalink/push-delivery/api-reference) for:

- Complete smart contract interface documentation
- Function specifications and return values