---
title: "State of the data sources: what each provides, today's / this hour's usage against limits, distinct symbols this month (Tiingo), fallback in progress, errors over 24 hours, freshness (SEC, FINRA, news, wires), D1 writes, steps of the last cron pass."
method: GET
path: "/api/v1/sources"
tags: ["Meta"]
---

# State of the data sources: what each provides, today's / this hour's usage against limits, distinct symbols this month (Tiingo), fallback in progress, errors over 24 hours, freshness (SEC, FINRA, news, wires), D1 writes, steps of the last cron pass.

`GET /api/v1/sources`

## Request

- Base URL: `https://siliconfloor.com`
- URL: `https://siliconfloor.com/api/v1/sources`
- Auth: none declared

State of the data sources: what each provides, today's / this hour's usage against limits, distinct symbols this month (Tiingo), fallback in progress, errors over 24 hours, freshness (SEC, FINRA, news, wires), D1 writes, steps of the last cron pass.

## Query parameters

- `lang` 'en' | 'fr'

## Response `200`

The data, as JSON. Read the conventions above before reading a field: changes and ratios are fractions, and null means unavailable — never zero.

- object

## Other responses

- `400`: A parameter is not usable (unknown ticker, bad range).
- `404`: Nothing at this address, or nothing to serve for this company yet.
- `429`: Too many requests: wait a minute.

---

[API](https://skmtc.dev/siliconfloor/apis/silicon-floor.md) · [All operations](https://skmtc.dev/siliconfloor/apis/silicon-floor/llms.txt) · [OpenAPI document](https://skmtc.dev/siliconfloor/apis/silicon-floor/revisions/d1bf73f9b8c8?raw)
