Metadata-Version: 2.4
Name: rfin
Version: 0.1.0
Summary: Python SDK for the hosted rfin FINRA public data API.
Project-URL: Homepage, https://api.rfin.bluedoor.sh
Project-URL: API, https://api.rfin.bluedoor.sh/v1/openapi.json
Project-URL: Documentation, https://api.rfin.bluedoor.sh/v1/endpoints
Project-URL: Source, https://github.com/bluedoor-ai/rfin
Project-URL: Rate Limits, https://api.rfin.bluedoor.sh/v1/health
Author-email: BlueDoor <sam@bluedoor.sh>
License: MIT
Keywords: finance,finra,market-data,otc,rfin,short-interest,short-sale
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Office/Business :: Financial
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: requests>=2.31
Description-Content-Type: text/markdown

# rfin

Python SDK for the hosted rfin FINRA public data API.

The API is live at `https://api.rfin.bluedoor.sh` and wraps CP2/CP3-confirmed
public FINRA Query API contracts behind friendly, cached routes.

```python
from rfin import Client

client = Client(contact="you@example.com")
rows = client.otc("reg-sho-daily", limit=5)
metadata = client.otc_metadata("weekly-summary")
```

## Common Calls

```python
client.health()
client.endpoints()
client.otc("consolidated-short-interest", limit=10)
client.otc_query("threshold-list", {"limit": 5})
client.otc_partitions("weekly-summary")
client.fixed_income_metadata("treasury-daily-aggregates")
```

## Identity

Anonymous requests work. Supplying a contact email raises rate-limit headroom:

```python
client = Client(contact="you@example.com")
```
