Skip to content
https://Roic.ai

Content

· 9 checks — Internal links, mixed-content guards, Open Graph previews, and structured data rolled into one auditable list.
SCORE
94
GRADE
A
FIX
1
REVIEW
1
PASS
7
INFO
0
Checks
9
7 PASS 1 REVIEW 1 FIX
D
Image Optimization
Action
3 issues found across 48 images
FIX
3 issues found across 48 images
Warning::
15 images significantly larger than display size
Resizing to display dimensions could save approximately 243 KB.
Got: ~243 KB wasted
Warning::
7 images missing explicit width/height
Images without dimensions cause layout shifts (CLS). Set explicit width and height attributes.
Info::
3 image(s) wider than 400px without srcset (no responsive serving)
These images deliver the same asset to every viewport (mobile, tablet, retina). Adding srcset / <picture> lets the browser pick a viewport-appropriate variant and typically saves 40-70% of bytes on mobile. Sample: https://www.roic.ai/img/landing/business-dashboard.webp, https://www.roic.ai/img/landing/cta-skyscrapers.webp, https://www.roic.ai/img/landing/footer-city-day.webp.
C
Brand Presence
Action
Site-name consistency, favicon, social image, meta tags, schema, and contact signals
REVIEW

Brand Presence

Your brand name differs across channels — visitors see inconsistent identity.

C

62/100

Site name appears as

Page titleRoic AI
og:site_name—
twitter:site@roic_ai
Organization.name—

Inconsistent — names differ across channels

Brand assets

Favicon

12/15

covers apple-touch-icon

Social share image

20/20

og:image + twitter:image set

Meta completeness

20/20

Organization schema

0/15

Contact info discoverable

5/10

mailto link

Findings

  • Brand name differs across channels — users see inconsistent identity
  • Add an apple-touch-icon and at least two PNG sizes (32x32 + 192x192)
  • No Organization schema — Google can't render your logo in the knowledge panel
  • Only partial contact info discoverable — consider adding a dedicated contact page or mailto/tel link

How consistently your brand appears across channels — shared link previews, structured data, favicon, contact info.

A+
Mixed Content
No mixed content detected — all resources use HTTPS.
PASS
No mixed content detected — all resources use HTTPS.
Info::
No mixed content detected — all resources use HTTPS
A
Open Graph
Open Graph tags are well configured for social sharing.
PASS
Open Graph tags are well configured for social sharing.
Info::
og:title is long (64 characters)
Titles over 60 characters may be truncated in social sharing previews.
Got: 64 chars Expected: 25–60 chars
Info::
Missing og:url
The og:url tag specifies the canonical URL for the shared content.
Info::
Missing og:site_name
The og:site_name tag displays the website name in social previews.
URL: 64 chars

Titles over 60 characters may be truncated in social sharing previews.

Expected: 25–60 chars
Why this matters

og:title borderline-too-long — Facebook/LinkedIn may truncate. Aim for ~60-70 characters max.

Source: Open Graph Protocol

The og:url tag specifies the canonical URL for the shared content.

Why this matters

Without og:url, social platforms infer the canonical URL — often picking a tracking-param variant that pollutes share counts.

Learn more ▾

og:url tells the social platform which URL to count this share against. Without it, platforms use the literal URL the user pasted (which may include utm_* parameters, ref codes, etc.). Setting og:url to the canonical form keeps share-count attribution clean.

Source: Open Graph Protocol

The og:site_name tag displays the website name in social previews.

Why this matters

Without og:site_name, social cards omit the brand attribution — users see the post but not who published it.

Learn more ▾

og:site_name appears in the social card chrome (above the title in Facebook/LinkedIn previews). Without it, posts read as anonymous URLs. Set it to your brand name to get free attribution on every share.

Source: Open Graph Protocol

Preview

Roic.ai

Free Financial Data API and Stock API: Up to 40+ Years | Roic AI

Build with up to 40+ years of financial statements, earnings call transcripts, and stock-price data, depending on plan. Free tier, no card required.

Preview quality · Twitter/X A+ · 100/100
  • twitter:card — summary_large_image
  • twitter:title — Free Financial Data API and Stock API: Up to 40+ Years | Roic AI
  • twitter:description — Build with up to 40+ years of financial statements, earnings call transcripts, and stock-price data, depending on pla...
  • twitter:image — https://www.roic.ai/opengraph-image-xglmiy?f4f2a206cab2754f

ROIC.AI

Free Financial Data API and Stock API: Up to 40+ Years | Roic AI

Build with up to 40+ years of financial statements, earnings call transcripts, and stock-price data, depending on plan. Free tier, no card required.

Preview quality · Facebook C · 65/100

Title will be truncated (64 chars / 60 max)

  • og:title — Free Financial Data API and Stock API: Up to 40+ Years | Roic AI
  • og:description — Build with up to 40+ years of financial statements, earnings call transcripts, and stock-price data, depending on pla...
  • og:image — https://www.roic.ai/opengraph-image-xglmiy?f4f2a206cab2754f
  • og:type — website
  • og:url — Add og:url — Recommended — canonical URL for the share
  • og:site_name — Add og:site_name — Recommended — site-level brand line in the preview
  • Title will be truncated on Facebook (64 chars, max 60)

    → Shorten og:title to ≤60 characters

Free Financial Data API and Stock API: Up to 40+ Years | Roic AI

Roic.ai

Preview quality · LinkedIn A+ · 100/100
  • og:title — Free Financial Data API and Stock API: Up to 40+ Years | Roic AI
  • og:description — Build with up to 40+ years of financial statements, earnings call transcripts, and stock-price data, depending on pla...
  • og:image — https://www.roic.ai/opengraph-image-xglmiy?f4f2a206cab2754f

Roic.ai

Free Financial Data API and Stock API: Up to 40+ Years | Roic AI

Build with up to 40+ years of financial statements, earnings call transcripts, and stock-price data, depending on plan. Free tier, no card required.

Preview quality · Slack A+ · 100/100
  • og:title — Free Financial Data API and Stock API: Up to 40+ Years | Roic AI
  • og:description — Build with up to 40+ years of financial statements, earnings call transcripts, and stock-price data, depending on pla...
  • og:image — https://www.roic.ai/opengraph-image-xglmiy?f4f2a206cab2754f

Social preview quality

Averaged across Twitter/X, Facebook, LinkedIn, and Slack.

A · 91/100
FieldTwitter/XFacebookLinkedInSlack
og:title
og:description
og:image
og:type
og:url
og:site_name
twitter:card———
twitter:title———
twitter:description———
twitter:image———
A+
Open Graph / Twitter Card Depth
OG image dimensions and Twitter card configuration look healthy
PASS
OG image dimensions and Twitter card configuration look healthy
Info::
OG/Twitter Card depth is clean -- dimensions, card type, and inheritance all valid
A+
Structured Data
1 JSON-LD block(s) found — structured data is well configured.
PASS
1 JSON-LD block(s) found — structured data is well configured.
Info::
Custom type "APIReference" — unable to validate specific properties

JSON-LD Blocks

Block 1 : APIReference
10 properties Valid
{
  "@context": "https://schema.org",
  "@type": "APIReference",
  "name": "ROIC.ai Financial Data API",
  "url": "https://www.roic.ai/",
  "description": "REST API for stock prices, financial statements, pre-calculated ratios, valuation multiples and earnings call transcripts covering 68k+ public companies across 70+ exchanges.",
  "programmingModel": "REST",
  "documentation": "https://www.roic.ai/api/docs",
  "provider": {
    "@type": "Organization",
    "name": "ROIC.ai",
    "url": "https://www.roic.ai",
    "logo": "https://www.roic.ai/img/logo.webp"
  },
  "featureList": [
    "Financial statements (income statement, balance sheet, cash flow)",
    "Pre-calculated ratios (ROIC, ROE, margins, Altman Z-Score)",
    "Valuation multiples, enterprise value and per-share data",
    "Earnings call transcripts (17+ years)",
    "Stock prices, latest prices and stock splits",
    "Company profiles, logos and employee counts",
    "Consistent JSON responses across the v3 REST API"
  ],
  "targetProduct": {
    "@type": "SoftwareApplication",
    "name": "ROIC.ai Financial Data API",
    "applicationCategory": "FinanceApplication",
    "operatingSystem": "Any",
    "areaServed": "Worldwide",
    "offers": [
      {
        "@type": "Offer",
        "name": "Free",
        "price": "0",
        "priceCurrency": "USD",
        "description": "5 requests/min; 2 years of annual fundamentals and daily price history; 2 quarters of earnings calls; full market coverage; batch feeds, exchange calendars and the earnings calendar require Individual or higher; no credit card"
      },
      {
        "@type": "Offer",
        "name": "Individual",
        "price": "29",
        "priceCurrency": "USD",
        "description": "300 requests/min, 5 years of history"
      },
      {
        "@type": "Offer",
        "name": "Professional",
        "price": "89",
        "priceCurrency": "USD",
        "description": "Unlimited requests, 40+ years of history"
      },
      {
        "@type": "Offer",
        "name": "Enterprise",
        "price": "599",
        "priceCurrency": "USD",
        "description": "Commercial-use API, multi-user access, invoicing"
      }
    ]
  }
}
A+
Rich Results Eligibility
1 JSON-LD block(s) declaring 1 schema type(s)
PASS
1 JSON-LD block(s) declaring 1 schema type(s)
Info::
1 rich-result schema type(s) declared
Inventory of structured-data types on the page (each may unlock a different SERP feature): APIReference Search engines decide whether to render rich results based on content quality + page-level signals; declaring the schema is necessary but not sufficient.
A+
Autoplay Media
No autoplay media on the page
PASS
No autoplay media on the page
Info::
No autoplay media on the page
All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback