Skip to main content

Python SDK for Reportify API - Financial data and document search

Project description

Reportify SDK for Python

Python SDK for Reportify API - Financial data and document search.

Installation

pip install reportify-sdk

Quick Start

from reportify_sdk import Reportify

# Initialize client
client = Reportify(api_key="your-api-key")

# Search documents
docs = client.search("Tesla earnings", num=10)
for doc in docs:
    print(doc["title"])

Features

Document Search

# General search across all categories
docs = client.search("revenue growth", num=10)

# Search specific document types
news = client.search_news("Apple iPhone", num=10)
reports = client.search_reports("semiconductor analysis", num=10)
filings = client.search_filings("10-K annual report", symbols=["US:AAPL"])
transcripts = client.search_transcripts("guidance", symbols=["US:TSLA"])

Stock Data (returns pandas DataFrame)

# Financial statements
income = client.stock.income_statement("US:AAPL", period="quarterly")
balance = client.stock.balance_sheet("US:AAPL")
cashflow = client.stock.cashflow_statement("US:AAPL")

# Price data
prices = client.stock.prices("US:AAPL", limit=30)
kline = client.stock.kline("US:TSLA", interval="1d", limit=100)

# Real-time quotes
quotes = client.stock.quote(["US:AAPL", "US:MSFT"])

# Company info
overview = client.stock.overview("US:AAPL")
shareholders = client.stock.shareholders("US:AAPL")

# Screening and calendar
stocks = client.stock.screener(market="US", min_market_cap=1e10)
earnings = client.stock.earnings_calendar(area="us", start_date="2024-01-01")

Timeline

# Get timeline for followed entities
companies = client.timeline.companies(num=20)
topics = client.timeline.topics(num=20)
institutes = client.timeline.institutes(num=20)
public_media = client.timeline.public_media(num=20)
social_media = client.timeline.social_media(num=20)

Knowledge Base

# Search user's uploaded documents
chunks = client.kb.search("quarterly revenue", folder_ids=["folder_id"])

Documents

# Get document content
doc = client.docs.get("doc_id")
summary = client.docs.summary("doc_id")

# List and search documents
docs = client.docs.list(symbols=["US:AAPL"], page_size=10)
chunks = client.docs.search_chunks("revenue breakdown", num=5)

Error Handling

from reportify_sdk import (
    Reportify,
    AuthenticationError,
    RateLimitError,
    NotFoundError,
    APIError,
)

try:
    docs = client.search("Tesla")
except AuthenticationError:
    print("Invalid API key")
except RateLimitError:
    print("Rate limit exceeded, please wait")
except NotFoundError:
    print("Resource not found")
except APIError as e:
    print(f"API error: {e.message}")

Configuration

client = Reportify(
    api_key="your-api-key",
    base_url="https://api.reportify.cn",  # Optional: custom API URL
    timeout=30.0,  # Optional: request timeout in seconds
)

Context Manager

with Reportify(api_key="your-api-key") as client:
    docs = client.search("Tesla")
    # Client will be closed automatically

License

MIT License - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reportify_sdk-0.2.0.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reportify_sdk-0.2.0-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file reportify_sdk-0.2.0.tar.gz.

File metadata

  • Download URL: reportify_sdk-0.2.0.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for reportify_sdk-0.2.0.tar.gz
Algorithm Hash digest
SHA256 16db9e2d390e2e8c17c2ad3278b8ae83980813456a27bcf5f3484ba46e52f152
MD5 e8ecd2f3713b5affb181bbaff22f3b9a
BLAKE2b-256 32bd5f99e43342aeda50f3ed1508b5d0d68c4fcb5713d53d1f0b161b835c70dc

See more details on using hashes here.

File details

Details for the file reportify_sdk-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: reportify_sdk-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for reportify_sdk-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f4f72648778290d8448edd6ed5528fa5e5eedea39b2d977e2efb58143500b2b7
MD5 2dbef07b13b4acdd02d75e739713d123
BLAKE2b-256 6f553386c6a28a146c71e87985374532d03c65084d45c83549a04d4a37473642

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page