# Mistral La Plateforme vs Codestral: Free Tier Differences Explained

> Discover Mistral La Plateforme vs Codestral free tier differences. Understand token vs request limits and data training opt-ins to choose the best LLM API for your needs.

- Repository: [Jun Siang Cheah/free-llm-api-resources](https://github.com/cheahjs/free-llm-api-resources)
- Tags: comparison
- Published: 2026-05-07

---

**Mistral La Plateforme offers an experimental free tier with opt-in data training and token-based limits, while Codestral provides a monthly subscription model with request-based rate limits and separate API endpoints.**

Both services offer free access to Mistral's large language models, but they operate under distinct pricing architectures, data consent policies, and usage constraints. According to the `cheahjs/free-llm-api-resources` repository, understanding these differences is crucial for developers choosing between general-purpose AI capabilities and specialized code generation workflows.

## Access Model and Data Training Consent

Mistral La Plateforme's free tier is positioned as an **experiment plan** that requires explicit user consent for data usage. As documented in the repository's [`README.md`](https://github.com/cheahjs/free-llm-api-resources/blob/main/README.md), users must **opt-in** to allow their requests to be used for model training. This contrasts with Codestral's approach, which currently operates under a **monthly subscription model** for its free tier without requiring explicit training data consent.

Both services require **phone-number verification** regardless of which tier you select.

## Rate Limits and Usage Restrictions

The services diverge significantly in how they throttle usage, with La Plateforme using token-based limits while Codestral uses request-based constraints:

- **La Plateforme (Experiment Plan):** 1 request per second, 500,000 tokens per minute, and 1 billion tokens per month
- **Codestral:** 30 requests per minute and 2,000 requests per day, with no explicit token-per-minute cap

These constraints are documented in [`README.md`](https://github.com/cheahjs/free-llm-api-resources/blob/main/README.md) under the respective "Mistral (La Plateforme)" and "Mistral (Codestral)" headings, with limits programmatically extracted via [`src/pull_available_models.py`](https://github.com/cheahjs/free-llm-api-resources/blob/main/src/pull_available_models.py).

## API Implementation and Endpoints

The technical implementation requires different base URLs and model identifiers for each service.

### Calling La Plateforme

Use the `https://api.mistral.ai` endpoint with models such as `mistral-medium-3`:

```python
import requests

url = "https://api.mistral.ai/v1/chat/completions"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
}
payload = {
    "model": "mistral-medium-3",
    "messages": [{"role": "user", "content": "Hello, Mistral!"}],
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())

```

### Calling Codestral

Use the `https://api.codestral.ai` endpoint with the `codestral-25.01` model:

```python
import requests

url = "https://api.codestral.ai/v1/chat/completions"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
}
payload = {
    "model": "codestral-25.01",
    "messages": [{"role": "user", "content": "Hello, Codestral!"}],
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())

```

### Command Line Examples

For quick testing via `curl`:

```bash

# La Plateforme

curl -X POST https://api.mistral.ai/v1/chat/completions \
  -H "Authorization: Bearer $MISTRAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"mistral-medium-3","messages":[{"role":"user","content":"Hi"}]}'

# Codestral

curl -X POST https://api.codestral.ai/v1/chat/completions \
  -H "Authorization: Bearer $CODESRAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"codestral-25.01","messages":[{"role":"user","content":"Hi"}]}'

```

## Summary

- **Mistral La Plateforme** operates on an experimental basis with opt-in data sharing, enforcing token-based rate limits (500K tokens/minute, 1B tokens/month) suitable for high-volume text processing.
- **Codestral** uses a subscription-based free tier with request-based limiting (30/minute, 2,000/day) and no explicit training data opt-in requirement, optimized for code generation workflows.
- Both services require phone verification and are documented in the [`README.md`](https://github.com/cheahjs/free-llm-api-resources/blob/main/README.md) of the `cheahjs/free-llm-api-resources` repository, with limits parsed automatically by [`src/pull_available_models.py`](https://github.com/cheahjs/free-llm-api-resources/blob/main/src/pull_available_models.py).

## Frequently Asked Questions

### Does Codestral use my data for model training?

Codestral's free tier does not require an explicit opt-in for training data usage, unlike La Plateforme's experiment plan which mandates user consent. However, you should review Mistral's current terms of service for the latest privacy policies regarding code inputs.

### Can I use the same API key for both La Plateforme and Codestral?

No, these services use separate endpoints (`api.mistral.ai` versus `api.codestral.ai`) and typically require distinct API keys. While both use Bearer token authentication, the keys are not interchangeable between platforms.

### Which service has higher throughput for coding tasks?

Codestral allows 30 requests per minute compared to La Plateforme's 1 request per second, but La Plateforme offers higher token throughput at 500,000 tokens per minute. For coding tasks with large context windows, La Plateforme may provide better capacity, while Codestral allows more frequent API calls.

### Where are the rate limits defined in the source code?

The rate limits are defined in the [`README.md`](https://github.com/cheahjs/free-llm-api-resources/blob/main/README.md) file under the specific sections for "Mistral (La Plateforme)" and "Mistral (Codestral)". The [`src/pull_available_models.py`](https://github.com/cheahjs/free-llm-api-resources/blob/main/src/pull_available_models.py) script contains the extraction logic used to update these limits automatically from the providers' APIs.