Protocol analysis, watchlist extraction, and ratings-history APIs for PennyGems: Screen Penny Stocks (StockRing, Inc.)
PennyGems screens roughly 2,000 US penny stocks under $10 and publishes Grab, Buy, Hold, Sell, and Dump recommendations three times a day during market hours. That pipeline produces structured data — ratings, ticker metadata, intraday sparklines, fundamentals, and AI-curated news — that portfolio tools, compliance systems, and quant stacks can ingest if access is properly authorized and mapped. We build that mapping for you.
We reverse engineer the PennyGems mobile authentication flow (device registration, token issuance, session refresh) and expose it as a typed server-side client. A downstream portfolio service can mint a session on behalf of an authorized user and reuse it for watchlist and ratings calls without forcing the user back into the app. Typical use: a broker's research portal that needs to surface a client's saved penny-stock picks inside its own dashboard.
Because PennyGems updates its Buy/Sell calls three times per trading session, batch polling wastes bandwidth. We wrap the refresh endpoint as a normalized webhook: every transition (for example Hold → Buy on ticker SNDL) is pushed as a JSON event with timestamps, previous rating, and confidence hints. Typical use: alerting an in-house trading Slack, or gating swing-trade entry rules.
The watchlist holds ticker, sort preference, alert triggers, and daily performance snapshots. We mirror it into your system of record (Postgres, BigQuery, or a SaaS CRM) with conflict-safe upserts. Typical use: unifying a retail trader's PennyGems watchlist with their TradeStation or Interactive Brokers positions for a single blended PnL view.
A distinctive PennyGems feature is the multi-month history of its own ratings — users can audit how accurate past Buy calls turned out. We expose that time series as a flat CSV / Parquet feed indexed by (ticker, rating_date, rating_tier) so quant teams can regress it against actual price action or combine it with Alpha Vantage / Finnhub price history.
The in-app news stream is AI-curated from dozens of business publishers. We normalize each item to {ticker, headline, publisher, published_at, canonical_url, summary}. Typical use: feeding an internal research wiki, or deduplicating stories already ingested from a Bloomberg or Reuters feed.
Any of the above data can be packaged into Excel, JSON, or PDF exports on a schedule. Typical use: month-end compliance archives, or investor-relations snapshots that log every rating change on a basket of micro-cap holdings. Outputs are tagged with source, retrieval time, and hash so downstream auditors can verify lineage.
The table below lists the structured data PennyGems produces, mapped to the in-app surface where it originates. This is the inventory we typically normalize into OpenData-style endpoints.
| Data type | Source (app surface) | Granularity | Typical downstream use |
|---|---|---|---|
| Rating tier (Grab / Buy / Hold / Sell / Dump) | Stock detail & rating card | Per ticker, ~3× per trading day | Alerting, signal validation, backtesting |
| Rating history | History tab on any ticker | Per ticker, daily/weekly/monthly | Accuracy audits, quant features, compliance archive |
| Watchlist membership & sort order | Personal watchlist screen | Per user, per ticker | Cross-platform watchlist sync, CRM enrichment |
| Price quote, daily range, % change, market cap | Watchlist rows | Per ticker, intraday | Dashboard widgets, risk limits, mid-day summaries |
| Sparkline series | Watchlist & ticker card | Intraday, typically 1–5 min buckets | Thumbnail charts in internal tools |
| Fundamentals (EPS, revenue, debt, dividends) | Metrics tab | Per ticker, refreshed around earnings | Screening, peer comparison, research notes |
| Technicals (moving averages, volatility) | Metrics tab | Per ticker, daily | Entry/exit rules, volatility filters |
| Company profile & business description | Profile tab | Per ticker, static-ish | Research summaries, onboarding copy |
| News stories (AI-curated) | Top Stories feed | Per ticker, continuous | Sentiment ingest, compliance logging |
| Search index (company name / ticker) | Global search | ~1,200–2,000 US penny tickers | Autocomplete, universe definition |
Context: A small swing-trading shop uses PennyGems as an idea generator and TradeStation or Interactive Brokers for execution.
Data / API involved: Ratings webhook for Grab/Buy transitions; watchlist sync for ticker allowlists; ticker detail bundle for pre-trade volatility and float checks.
OpenFinance mapping: PennyGems acts as the "signal producer"; the brokerage API (or a pay-per-call gateway we host) acts as the executor. Events flow signal → risk filter → order staging. Every rating change is persisted with source hash so post-trade compliance can trace the idea origin.
Context: A consumer wealth app wants to let users import their PennyGems watchlist alongside holdings from Robinhood or a broker connected via Plaid-style aggregation.
Data / API involved: Authenticated session mirror, watchlist extraction API, ratings history for each imported ticker.
OpenData mapping: The integration looks like a classic OpenData feed — user authorizes, consent is logged, a read-only token is issued, and watchlist + ratings flow into the wealth app's canonical portfolio schema. No trading permissions are requested.
Context: A quant team wants to test whether PennyGems rating transitions have predictive power on next-day returns for stocks under $10.
Data / API involved: Ratings-history backtester feed (Parquet), ticker metadata, joined against Alpha Vantage or Financial Modeling Prep price history.
OpenFinance mapping: Outputs land in the team's research lake; downstream Jupyter notebooks compute information coefficients. We provide a stable schema and replay endpoint so the feature is reproducible across model retrains.
Context: An IR firm representing OTC / micro-cap issuers wants to track when PennyGems changes its rating on client tickers and what news stories the app is surfacing.
Data / API involved: Ratings webhook filtered by a ticker basket, news story ingestion, export module for weekly PDF reports.
OpenData mapping: Read-only ingest into the IR firm's existing media-monitoring stack. Each captured story includes canonical publisher URL so it can be cross-referenced against SEC EDGAR XBRL filings and FINRA OTC Transparency data for a fuller picture.
Context: A trading-education product wants students to paper-trade against the same rating stream retail users see.
Data / API involved: Real-time ratings feed, ticker search, daily snapshot export for grading.
OpenFinance mapping: The education platform becomes a secondary consumer of PennyGems signals under a documented data-use agreement; we handle rate-limit shaping and user-level attribution so the source can validate traffic.
POST /api/v1/pennygems/session
Content-Type: application/json
{
"device_id": "dev-9f2c...",
"app_version": "com.stockring.cheapstocks/2025.x",
"auth": { "type": "user_consent_token", "value": "<USER_TOKEN>" }
}
200 OK
{
"session_id": "sess_7h2k...",
"expires_at": "2026-04-23T20:15:00Z",
"scopes": ["watchlist:read", "ratings:read", "news:read"]
}
GET /api/v1/pennygems/watchlist?sort=gain_desc
Authorization: Bearer <SESSION_ID>
200 OK
{
"items": [
{
"ticker": "SNDL",
"rating": "BUY",
"rating_changed_at": "2026-04-23T14:02:00Z",
"price": 1.84,
"pct_change": 3.95,
"volume": 21450000,
"sparkline": [1.77,1.78,1.81,1.83,1.84],
"market_cap_usd": 482000000
}
],
"paging": { "cursor": null }
}
POST https://your-app.example/hooks/pennygems
X-PennyGems-Signature: t=1714060000,v1=9a...
{
"event": "rating.changed",
"ticker": "MARA",
"previous": "HOLD",
"current": "BUY",
"rated_at": "2026-04-23T18:30:00Z",
"source": "pennygems.mobile.v1",
"trace_id": "01HV7..."
}
Signature validation uses HMAC-SHA256 over the raw body with a per-tenant secret. Replay protection via t timestamp window (default 5 min).
GET /api/v1/pennygems/ratings/history ?ticker=SNDL &from=2025-01-01 &to=2026-04-23 &format=parquet Authorization: Bearer <SESSION_ID> # Columns: # ticker, rated_at, rating_tier, previous_tier, # intraday_slot (1|2|3), source_hash
Errors follow a stable shape: { "error": { "code": "rate_limited", "message": "...", "retry_after": 12 } }. Clients can back off on 429 and reconcile missed webhooks through the history endpoint; no state is lost.
PennyGems ships with a clear disclaimer: it is not trading advice and StockRing, Inc. disclaims liability for inaccurate or incomplete signals. Any integration we build preserves that disclaimer in-band — every rating payload carries a disclaimer_ref pointer so downstream UIs cannot strip it. Beyond that, penny-stock data touches several real regulatory surfaces:
A minimal pipeline for most PennyGems integrations looks like this:
(ticker, rated_at) or (user_id, ticker).Each stage emits structured logs with a shared trace_id, so a single rating event can be followed from the source refresh through to the Slack alert or broker order ticket that eventually acted on it.
PennyGems is developed by StockRing, Inc. and distributed across Google Play, the App Store, and the Amazon Appstore, with specific callouts for Google Pixel, Samsung Galaxy S / Note / Tab, and Wear OS — indicating a primarily US, Android-heavy retail audience. Typical users are day traders, swing traders, scalpers, and longer-term micro-cap investors who want triaged Buy/Sell calls on stocks under $10 rather than building their own screeners. Pricing is freemium with a Premium tier commonly cited at about $10/month or $100/year and a one-week free trial, so the user base skews toward self-directed retail traders rather than institutional desks. For integration work, that shapes the realistic scope: watchlists are small (tens of tickers per user), rating events are moderate frequency (three refreshes per trading day across ~2,000 tickers), and the highest-value data is the rating-history time series that is hard to reconstruct elsewhere.
Click any thumbnail to view a larger version.
Teams working with PennyGems often also evaluate or integrate the following tools. We frame each purely as part of the micro-cap / retail-trading data ecosystem — different apps produce different slices of the same user's workflow, and unified integrations tend to deliver the most value.
We are an independent technical studio focused on app-interface integration, authorized API integration, and OpenData / OpenFinance delivery for global clients. Our engineers come from fintech backends, mobile reverse engineering, and data-pipeline work; we have shipped production integrations for banking, brokerage, e-commerce, travel, and social apps. For PennyGems specifically, our edge is understanding both the micro-cap data domain and the mobile session model that produces it — we can move from "can this be integrated?" to a compliant, documented API without the client having to do the reverse engineering themselves.
Share the target app and your integration requirements and we will scope it within one to two business days.
Typical response time: under 24 hours on business days. NDA available on request.
What do you need from me to start?
How long does a first drop usually take?
How do you handle the app's disclaimer?
Do you support pay-per-call pricing?
PennyGems: Screen Penny Stocks (package com.stockring.cheapstocks) is a penny-stock screener and tracker published by StockRing, Inc. It is available on Google Play, the Apple App Store (as "PennyGems: Scan Penny Stocks"), and the Amazon Appstore, with device coverage including Google Pixel, Samsung Galaxy S / Note / Tab, and Wear OS.
The app covers roughly 2,000 US penny stocks trading under $10 and lets users search, scan, and follow them in personalized watchlists. Each stock receives a five-tier rating — Grab (Super Buy), Buy, Hold, Sell, and Dump (Super Sell) — updated during market hours, and users can review the history of those ratings across days, weeks, and months to audit their accuracy.
Disclaimer (as stated in the app): PennyGems is not intended to be trading or investing advice. Always do your own due diligence using multiple sources of information, and consult a licensed professional before trading or investing. StockRing, Inc., its officers, directors, investors, and contractors disclaim liability to the maximum extent permitted by law for any commentary, analysis, information, opinions, advice, or recommendations that prove inaccurate, incomplete, or unreliable, or that result in any investment or other losses.