{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "tool": {
    "slug": "tiingo",
    "name": "Tiingo",
    "vendor": "Tiingo Inc.",
    "vendorUrl": "https://www.tiingo.com",
    "kind": "http-api",
    "category": "market-data",
    "summary": "Tiingo is a market data API from Tiingo Inc. for end-of-day and real-time US equity prices, fund fees, fundamentals, dividends and splits, news, crypto and forex, over REST and WebSocket. Agents call api.tiingo.com with an account token.",
    "url": "https://www.anchorterminal.com/tools/tiingo",
    "markdownUrl": "https://www.anchorterminal.com/tools/tiingo.md",
    "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tiingo.min.md",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tiingo.json",
    "dns": "tiingo.grade.anchorterminal.com",
    "transports": [
      "http",
      "websocket"
    ],
    "remoteUrl": "https://api.tiingo.com",
    "packages": [],
    "auth": "api-key",
    "authNotes": "One API token of about 75 characters per account, from the account page after a browser signup. The connecting guide accepts it as `?token=` in the URL or as an `Authorization: Token \u003ctoken\u003e` header; WebSocket subscriptions carry it as `authToken` in the subscribe message. The token can be rotated on the account token page (added per the changelog of 12 May 2026). No scopes or expiry found.",
    "pricing": "freemium",
    "pricingNotes": "Starter plan free at 50 requests an hour, 1,000 a day, 1 GB a month and 500 unique symbols a month, internal use only; no card requirement stated. Power plan $30 a month at 10,000 requests an hour, 100,000 a day, 40 GB and all 110,424 symbols, also internal use only. Fundamentals are a separate add-on through a third-party provider, priced by email; commercial, redistribution and white-label licences by contact (https://www.tiingo.com/pricing, checked 2026-11-03).",
    "priceSummary": "$30 / mo",
    "where": "hosted",
    "x402": {
      "level": "no",
      "evidence": "No x402, MPP or L402 in the documentation, llms.txt or pricing (checked 2026-11-03). A call without a token returns HTTP 403 with `{\"detail\":\"Please supply a token\"}`.",
      "endpoints": []
    },
    "toolCount": null,
    "popularity": {
      "githubStars": null,
      "npmWeekly": null,
      "pypiWeekly": null,
      "asOf": "2026-11-03"
    },
    "docsUrl": "https://www.tiingo.com/documentation/general/overview",
    "llmsTxt": "https://www.tiingo.com/llms.txt",
    "capabilities": [
      "market.prices",
      "market.history",
      "market.news",
      "market.fundamentals",
      "market.crypto",
      "data.markets"
    ],
    "tags": [
      "hosted",
      "freemium",
      "api-key",
      "llms-txt",
      "status-page",
      "free-tier",
      "closed-source",
      "stocks",
      "crypto",
      "forex",
      "streaming",
      "personal-use"
    ],
    "lastRelease": "2026-10-09",
    "graded": true,
    "anchor": {
      "graded": true,
      "score": 46.2,
      "grade": "D",
      "agentReady": false,
      "rank": 1118,
      "ranked": true,
      "rankOf": 1349,
      "categoryRank": 9,
      "methodology": "0.7",
      "run": "2026-10-01",
      "scores": {
        "ergonomics": 56,
        "maintenance": 50,
        "payments": 30,
        "reliability": 60,
        "schema": 39,
        "security": 32,
        "transparency": 57
      },
      "pending": [
        "performance",
        "tasks"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 60,
          "points": 12,
          "reason": "Read with the hosted lines. A public status page on Instatus at status.tiingo.com lists 13 components with a notice history (20). The history in the 90 days to 3 November 2026 shows a 9 hour 59 minute outage of the Blue Ocean ATS endpoints on 21 October, a WebSocket issue on 21 September and two maintenance windows, with nothing recorded before 21 September; a long outage of one niche feed rather than the core price API (15). Limits are published with numbers, 50 and 10,000 requests an hour, 1,000 and 100,000 a day and 1 GB and 40 GB a month (15). No 429, Retry-After or backoff guidance was found (0). No SLA found (0). The end-of-day, news, crypto and forex APIs are generally available, while Equity Realtime and BOATS are in beta (10). 20 + 15 + 15 + 0 + 0 + 10 = 60.",
          "checked": "2026-11-03"
        },
        {
          "key": "performance",
          "name": "Performance",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
        },
        {
          "key": "schema",
          "name": "Schema \u0026 documentation",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 39,
          "points": 6.34,
          "reason": "No OpenAPI document or MCP server was found (0 of 25). llms.txt and llms-full.txt are served, with product routing and licence notes (10). Each documentation page states the endpoint's purpose and timing, such as prices after 5.30 pm ET with corrections to 8 pm, with little on when not to use it (12 of 20). Parameters and response fields are tabled with names and meanings, but types, defaults and allowed values are partly in prose (8 of 15). Examples in Python, Node and PHP on every page; no error responses documented (7 of 15). A changelog dated by entry since 2017 and a one-year support commitment after breaking changes, with no version in the path (12 of 15). 0 + 10 + 12 + 8 + 7 + 12 = 39.",
          "checked": "2026-11-03"
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 56,
          "points": 9.1,
          "reason": "`startDate`, `endDate`, `resampleFreq`, `format=csv` and column selection on some endpoints size responses; no field selection on end-of-day prices (15 of 25). Date ranges throughout and limit and offset on news, no cursor (15 of 20). Errors are undocumented; a missing token answered 403 with a JSON `detail` field in our one test call (3 of 20). Every call is a read (16 of 20). Few required parameters, but no official SDK; the docs point to third-party packages (7 of 15). 15 + 15 + 3 + 16 + 7 = 56.",
          "checked": "2026-11-03"
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 32,
          "points": 5.6,
          "reason": "One token per account with no scopes, documented as `?token=` in the URL or an Authorization header, with rotation on the account page since May 2026 (20 less 10 for the query string, plus 2 for rotation, so 12). Every endpoint is a read (15 of 20). News is third-party text and no guidance was found (5 of 15). A usage page shows hourly and daily requests and bandwidth, not a per-call log (0 of 15, no log). security.txt redirects on www and is absent on api, and no disclosure policy, bug bounty or certification was found (0 of 20). 12 + 15 + 5 + 0 + 0 = 32.",
          "checked": "2026-11-03"
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 30,
          "points": 3.75,
          "reason": "No x402, MPP or L402 (0). Two plan prices public without login, $0 and $30 a month, sold by requests an hour and a day rather than per call; fundamentals and commercial licences by email (10). A free Starter plan at 1,000 requests a day with no card requirement stated (20). The token comes from a browser signup, and the developer programme forbids programmatic registration (0). 0 + 10 + 20 + 0 = 30.",
          "checked": "2026-11-03"
        },
        {
          "key": "tasks",
          "name": "Task success",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
        },
        {
          "key": "maintenance",
          "name": "Maintenance \u0026 community",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 50,
          "points": 4.38,
          "reason": "Read as a closed service. The changelog's newest entry is 9 October 2026 (30). Entries dated 9 October and 8 September 2026 fall in the last 90 days, with 21 July just outside, and the status page adds a maintenance window on 28 September (12 of 20). A dated changelog, a support address and a blog, with the developer programme promising priority email support (8 of 15). No official SDK (0 of 15). No package to assess (0 of 10). 30 + 12 + 8 + 0 + 0 = 50.",
          "checked": "2026-11-03"
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 57,
          "points": 4.99,
          "note": "editorial 28, provenance 86",
          "reason": "A closed service whose terms sit on app.tiingo.com, which answered 403 to every request, so they were not read; the pricing and documentation pages define internal, commercial and redistribution licences (8 of 30). The privacy policy is on the same host and was not read (0 of 30). The developer programme commits to a year of continued support after a breaking change, with changes posted in the changelog and emailed to registered developers, and the changelog's 9 October 2026 entry describes a changed default for prevClose (16 of 20). Equinix hosting is named on the about page, with no processor list or data location (4 of 20). 8 + 0 + 16 + 4 = 28.",
          "checked": "2026-11-03"
        }
      ],
      "assessment": {
        "date": "2026-11-03",
        "basis": "public evidence",
        "confidence": "low",
        "notes": {
          "ergonomics": "`startDate`, `endDate`, `resampleFreq`, `format=csv` and column selection on some endpoints size responses; no field selection on end-of-day prices (15 of 25). Date ranges throughout and limit and offset on news, no cursor (15 of 20). Errors are undocumented; a missing token answered 403 with a JSON `detail` field in our one test call (3 of 20). Every call is a read (16 of 20). Few required parameters, but no official SDK; the docs point to third-party packages (7 of 15). 15 + 15 + 3 + 16 + 7 = 56.",
          "maintenance": "Read as a closed service. The changelog's newest entry is 9 October 2026 (30). Entries dated 9 October and 8 September 2026 fall in the last 90 days, with 21 July just outside, and the status page adds a maintenance window on 28 September (12 of 20). A dated changelog, a support address and a blog, with the developer programme promising priority email support (8 of 15). No official SDK (0 of 15). No package to assess (0 of 10). 30 + 12 + 8 + 0 + 0 = 50.",
          "payments": "No x402, MPP or L402 (0). Two plan prices public without login, $0 and $30 a month, sold by requests an hour and a day rather than per call; fundamentals and commercial licences by email (10). A free Starter plan at 1,000 requests a day with no card requirement stated (20). The token comes from a browser signup, and the developer programme forbids programmatic registration (0). 0 + 10 + 20 + 0 = 30.",
          "reliability": "Read with the hosted lines. A public status page on Instatus at status.tiingo.com lists 13 components with a notice history (20). The history in the 90 days to 3 November 2026 shows a 9 hour 59 minute outage of the Blue Ocean ATS endpoints on 21 October, a WebSocket issue on 21 September and two maintenance windows, with nothing recorded before 21 September; a long outage of one niche feed rather than the core price API (15). Limits are published with numbers, 50 and 10,000 requests an hour, 1,000 and 100,000 a day and 1 GB and 40 GB a month (15). No 429, Retry-After or backoff guidance was found (0). No SLA found (0). The end-of-day, news, crypto and forex APIs are generally available, while Equity Realtime and BOATS are in beta (10). 20 + 15 + 15 + 0 + 0 + 10 = 60.",
          "schema": "No OpenAPI document or MCP server was found (0 of 25). llms.txt and llms-full.txt are served, with product routing and licence notes (10). Each documentation page states the endpoint's purpose and timing, such as prices after 5.30 pm ET with corrections to 8 pm, with little on when not to use it (12 of 20). Parameters and response fields are tabled with names and meanings, but types, defaults and allowed values are partly in prose (8 of 15). Examples in Python, Node and PHP on every page; no error responses documented (7 of 15). A changelog dated by entry since 2017 and a one-year support commitment after breaking changes, with no version in the path (12 of 15). 0 + 10 + 12 + 8 + 7 + 12 = 39.",
          "security": "One token per account with no scopes, documented as `?token=` in the URL or an Authorization header, with rotation on the account page since May 2026 (20 less 10 for the query string, plus 2 for rotation, so 12). Every endpoint is a read (15 of 20). News is third-party text and no guidance was found (5 of 15). A usage page shows hourly and daily requests and bandwidth, not a per-call log (0 of 15, no log). security.txt redirects on www and is absent on api, and no disclosure policy, bug bounty or certification was found (0 of 20). 12 + 15 + 5 + 0 + 0 = 32.",
          "transparency": "A closed service whose terms sit on app.tiingo.com, which answered 403 to every request, so they were not read; the pricing and documentation pages define internal, commercial and redistribution licences (8 of 30). The privacy policy is on the same host and was not read (0 of 30). The developer programme commits to a year of continued support after a breaking change, with changes posted in the changelog and emailed to registered developers, and the changelog's 9 October 2026 entry describes a changed default for prevClose (16 of 20). Equinix hosting is named on the about page, with no processor list or data location (4 of 20). 8 + 0 + 16 + 4 = 28."
        },
        "sources": [
          {
            "what": "documentation overview (limits, formats, permitted use)",
            "url": "https://www.tiingo.com/documentation/general/overview",
            "seen": "2026-11-03"
          },
          {
            "what": "connecting guide (token in URL or header, WebSocket)",
            "url": "https://www.tiingo.com/documentation/general/connecting",
            "seen": "2026-11-03"
          },
          {
            "what": "end-of-day documentation",
            "url": "https://www.tiingo.com/documentation/end-of-day",
            "seen": "2026-11-03"
          },
          {
            "what": "fundamentals documentation (third-party add-on)",
            "url": "https://www.tiingo.com/documentation/fundamentals",
            "seen": "2026-11-03"
          },
          {
            "what": "developer programme (deprecation commitment)",
            "url": "https://www.tiingo.com/documentation/appendix/developers",
            "seen": "2026-11-03"
          },
          {
            "what": "changelog",
            "url": "https://www.tiingo.com/documentation/general/changelog",
            "seen": "2026-11-03"
          },
          {
            "what": "llms.txt",
            "url": "https://www.tiingo.com/llms.txt",
            "seen": "2026-11-03"
          },
          {
            "what": "pricing",
            "url": "https://www.tiingo.com/pricing",
            "seen": "2026-11-03"
          },
          {
            "what": "about page",
            "url": "https://www.tiingo.com/about",
            "seen": "2026-11-03"
          },
          {
            "what": "blog index and data quality post (formed in 2014)",
            "url": "https://www.tiingo.com/blog/",
            "seen": "2026-11-03"
          },
          {
            "what": "status page",
            "url": "https://status.tiingo.com/",
            "seen": "2026-11-03"
          },
          {
            "what": "status history",
            "url": "https://status.tiingo.com/history/1",
            "seen": "2026-11-03"
          },
          {
            "what": "uptime page (data did not load)",
            "url": "https://uptime.tiingo.com/",
            "seen": "2026-11-03"
          },
          {
            "what": "prices endpoint without a token, 403",
            "url": "https://api.tiingo.com/tiingo/daily/aapl/prices",
            "seen": "2026-11-03"
          },
          {
            "what": "privacy policy (403 on app.tiingo.com)",
            "url": "https://app.tiingo.com/privacy",
            "seen": "2026-11-03"
          },
          {
            "what": "robots.txt",
            "url": "https://www.tiingo.com/robots.txt",
            "seen": "2026-11-03"
          },
          {
            "what": "RDAP for tiingo.com",
            "url": "https://rdap.org/domain/tiingo.com",
            "seen": "2026-11-03"
          }
        ],
        "openQuestions": [
          "unchecked: the terms of service and privacy policy, because app.tiingo.com answered 403 to every request from our reader and from curl; www.tiingo.com and api.tiingo.com answered normally, so the listing stands on the documentation and pricing pages",
          "unchecked: the uptime figures on uptime.tiingo.com, an UptimeRobot page whose data did not load",
          "unchecked: llms-full.txt, named in llms.txt as the complete reference",
          "Whether the Starter plan needs a card; the pricing page lists $0 and says nothing about a card",
          "The price of the fundamentals add-on and the identity of its third-party provider, which the documentation does not name",
          "Judgement call on reliability. The 21 October 2026 outage lasted about 10 hours but hit the Blue Ocean ATS endpoints only, so it was scored between minor and major (15 of 30)",
          "Judgement call, not a deduction. The changelog of 9 October 2026 says prevClose on Equity Realtime and BOATS now defaults to the prior official close, a changed default announced the same day on beta APIs",
          "firstReleased is left empty. The blog says Tiingo was formed in 2014, the changelog begins 5 July 2017 and the domain dates from 4 March 2011",
          "The founder's surname. Every blog post is by Rishi S., who writes that he formed Tiingo in 2014; no first-hand page gives the full name, so the humans file records what the site shows"
        ]
      },
      "negative": 0,
      "verdict": "A dated changelog since 2017, a one-year support commitment after breaking changes, an Instatus status page and a free token at 1,000 requests a day. The token is documented in the URL, no OpenAPI document, error reference, SDK or MCP server exists, and the terms and privacy policy sit on a host that refused our reader.",
      "bestFor": "Agents that need clean US end-of-day composites with dividend and split adjustments, fund fees and news on a cheap plan, and anyone who values a long changelog.",
      "strengths": [
        "Changelog dated by entry from 2017 to 9 October 2026, and a stated one-year support window after a breaking change",
        "Status page on Instatus with 13 components and a notice history",
        "Limits in requests an hour, a day and bandwidth a month, with no per-second throttle, and token rotation on the account page",
        "Free Starter token at 1,000 requests a day, and a $30 a month Power plan published without login",
        "llms.txt and llms-full.txt served for agents, with product routing notes"
      ],
      "weaknesses": [
        "The connecting guide documents the token as `?token=` in the URL alongside the header",
        "No OpenAPI document, no documented error responses, no official SDK and no MCP server",
        "Terms and privacy policy on app.tiingo.com answered 403 to every request, so neither was read",
        "Both self-serve plans are internal use only; display, redistribution and white-label need a negotiated licence",
        "Blue Ocean ATS endpoints were down for about 10 hours on 21 October 2026, and the status history starts on 21 September 2026"
      ],
      "agentNotes": [
        "Send the token as `Authorization: Token \u003ctoken\u003e`, not as `?token=` in the URL",
        "Ask for `format=csv` on large price pulls; the docs say CSV is 4 to 5 times faster than JSON, and bandwidth counts against the monthly cap",
        "Count requests an hour and a day, not per second; 50 an hour on Starter, 10,000 on Power, reset on the hour and at midnight ET",
        "Expect 403 `{\"detail\":\"Please supply a token\"}` without a token; other error shapes are undocumented, so log the body",
        "Use dashes in share classes (BRK-A), and fetch supported_tickers.zip rather than guessing symbols"
      ],
      "metrics": {
        "kind": "remote",
        "measured": false
      },
      "reviewCount": 0,
      "avgRating": 0,
      "history": [
        {
          "basis": "public evidence",
          "confidence": "low",
          "grade": "D",
          "methodology": "0.7",
          "pending": [
            "performance",
            "tasks"
          ],
          "run": "2026-10-01",
          "runLabel": "October 2026 research run",
          "score": 46.2
        }
      ],
      "editorialScores": {
        "ergonomics": 56,
        "maintenance": 50,
        "payments": 30,
        "reliability": 60,
        "schema": 39,
        "security": 32,
        "transparency": 28
      },
      "provenanceScore": 86,
      "checked": {
        "categories": {
          "ergonomics": "2026-11-03",
          "maintenance": "2026-11-03",
          "payments": "2026-11-03",
          "reliability": "2026-11-03",
          "schema": "2026-11-03",
          "security": "2026-11-03",
          "transparency": "2026-11-03"
        },
        "last": "2026-11-03",
        "oldest": "2026-11-03",
        "stale": false,
        "staleAfterDays": 90
      },
      "scoreHistory": [
        {
          "date": "2026-11-03",
          "grade": "D",
          "kind": "listed",
          "method": "0.7",
          "score": 46.2
        }
      ]
    },
    "connect": {
      "http": "curl -H \"Authorization: Token $TIINGO_TOKEN\" \"https://api.tiingo.com/tiingo/daily/aapl/prices?startDate=2025-11-03\u0026format=csv\""
    },
    "letme": {
      "capability": "https://letme.dev/market.prices",
      "tool": "https://letme.dev/tiingo"
    },
    "notable": [
      "The overview documents three limit types, requests an hour, requests a day and bandwidth a month, with the numbers on the pricing page, and says there is no per-minute or per-second limit (https://www.tiingo.com/documentation/general/overview)",
      "A dated changelog runs from 5 July 2017 to 9 October 2026, with 2026 entries on 31 January, 20 March, 12 May, 7 July (Equity Realtime API in beta), 21 July (BOATS Overnight in beta), 8 September and 9 October (https://www.tiingo.com/documentation/general/changelog)",
      "The developer programme page commits to keeping current functionality supported for at least one year after a breaking change, to posting changes in the changelog and emailing registered developers, and forbids programmatic registration or login (https://www.tiingo.com/documentation/appendix/developers)",
      "The status page at status.tiingo.com (Instatus) lists 13 components; its history shows a 9 hour 59 minute outage of the Blue Ocean ATS endpoints on 21 October 2026, two maintenance windows and a WebSocket notice, with nothing before 21 September 2026 (https://status.tiingo.com/history/1)",
      "The terms and privacy policy live on app.tiingo.com, which answered every request with 403, so neither was read; the docs and pricing state the licence tiers (internal use, commercial, redistribution) (https://app.tiingo.com/privacy)",
      "No MCP server, OpenAPI document or official SDK was found; llms.txt and llms-full.txt are served, and the docs point to third-party packages"
    ],
    "area": "domain-data",
    "details": [
      {
        "label": "Surface listed",
        "value": "The REST API at api.tiingo.com and its WebSocket, read from the documentation on www.tiingo.com (overview, connecting, end-of-day, fundamentals, developer programme, changelog), llms.txt, the pricing and about pages, the blog and the status page on 3 November 2026. No account was made and no call beyond an unauthenticated test was sent"
      },
      {
        "label": "Reader note",
        "value": "www.tiingo.com and api.tiingo.com answered normally. app.tiingo.com, which holds the terms and privacy policy, answered 403 to every request, so those two documents are unread"
      },
      {
        "label": "API",
        "value": "REST groups for end of day, news, crypto, forex, equity real time (beta), IEX, BOATS overnight (beta), fundamentals, fund fees, dividends and splits, plus search; WebSocket streams for crypto, forex, equity real time, IEX and BOATS. Share classes use dashes (BRK-A)"
      },
      {
        "label": "Coverage",
        "value": "The pricing page counts 110,424 securities, 49,621 US and Chinese stocks and 60,803 ETFs and mutual funds, with 30 years of price history and 5 or 15 years of fundamentals; the fundamentals page says 5,500 US equities and ADRs over 20 years. News keeps 3 months of queryable history on self-serve plans"
      },
      {
        "label": "Rate limits",
        "value": "Starter 50 requests an hour, 1,000 a day, 1 GB a month, 500 unique symbols; Power 10,000 an hour, 100,000 a day, 40 GB. No per-minute or per-second limit. No 429 documentation found"
      },
      {
        "label": "Response size",
        "value": "`startDate` and `endDate`, `resampleFreq` (daily, weekly, monthly), `format=json` or csv, and a `columns` selection on some endpoints"
      },
      {
        "label": "Errors",
        "value": "403 with a JSON `detail` field without a token in our one test call. No error reference in the documentation we read"
      },
      {
        "label": "SDKs",
        "value": "None official. The docs name third-party packages, and the developer programme lists integrations that bring their own token"
      },
      {
        "label": "Use terms",
        "value": "Starter and Power are internal use only, defined on the pricing page as personal use with no display or sharing; commercial accounts are licensed for internal commercial use; redistribution and white-label need separate licences by contact. The terms themselves were not read"
      },
      {
        "label": "Status",
        "value": "status.tiingo.com on Instatus with 13 components and RSS, plus an UptimeRobot page at uptime.tiingo.com whose data did not load for our reader"
      },
      {
        "label": "Legal entity",
        "value": "Tiingo Inc. per the copyright line, Alexandria, Virginia per the about page, which says the company was formed about ten years ago; the blog says Tiingo was formed in 2014"
      }
    ],
    "unitPrices": [
      {
        "item": "Power, 10,000 requests an hour",
        "unit": "month",
        "usd": 30,
        "note": "internal use only, 100,000 requests a day, 40 GB a month"
      }
    ],
    "provenance": {
      "legalEntity": "Tiingo Inc.",
      "domain": "tiingo.com",
      "domainRegistered": "2011-03-04",
      "endpointOnVendorDomain": true,
      "terms": "https://app.tiingo.com/terms",
      "privacy": "https://app.tiingo.com/privacy",
      "statusPage": "https://status.tiingo.com",
      "changelog": "https://www.tiingo.com/documentation/general/changelog",
      "securityTxt": "none",
      "checked": "2026-11-03",
      "notes": [
        "Tiingo Inc. appears in the copyright line of the about page, which gives Alexandria, VA. No registration number or address was found on a page we could read.",
        "www.tiingo.com/privacy redirects to app.tiingo.com/privacy, and app.tiingo.com/terms is the terms address; app.tiingo.com answered 403 to every request from our reader and from curl, so neither document was read.",
        "www.tiingo.com/robots.txt disallows only /admin. The developer programme page forbids programmatic registration or login and wrapping the login form; nothing read forbids reading the website.",
        "RDAP gives tiingo.com a registration date of 4 March 2011 at GoDaddy.",
        "/.well-known/security.txt on www.tiingo.com redirects (301) and api.tiingo.com returns 404, so none.",
        "The status page is Instatus at status.tiingo.com, named in llms.txt with uptime.tiingo.com as an audited uptime page."
      ],
      "score": 86,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "Tiingo Inc.",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "tiingo.com, registered 2011-03-04 (15 years)",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "api.tiingo.com",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Terms of service",
          "value": "published, but our reader couldn't read it",
          "points": 7,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Privacy policy",
          "value": "read, states 5 of the 8 things a reader expects",
          "points": 7.8,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Status page",
          "value": "status.tiingo.com",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Changelog",
          "value": "published",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "security.txt",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "People named",
          "value": "1 named with their role, none with a public profile",
          "points": 7,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Support route",
          "value": "a support address, help pages",
          "points": 5,
          "max": 5,
          "state": "ok"
        }
      ],
      "policies": [
        {
          "kind": "terms",
          "url": "https://app.tiingo.com/terms",
          "state": "unreadable",
          "reason": "the page answered HTTP 404 to our reader",
          "readAt": "2026-11-03",
          "points": 7,
          "max": 10
        },
        {
          "kind": "privacy",
          "url": "https://app.tiingo.com/privacy",
          "state": "read",
          "readAt": "2026-11-03",
          "statedDate": "2026-02-18",
          "words": 4319,
          "points": 7.8,
          "max": 10,
          "expected": [
            {
              "key": "privacy.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last Revised: February 18th, 2026",
              "says": "Last updated 2026-02-18"
            },
            {
              "key": "privacy.collected",
              "label": "Says what personal data is collected",
              "found": true,
              "quote": "…this Privacy Policy to describe to you our practices regarding the Personal Data (as defined below) we collect from users of our website, located at https://www.tiingo.com, https://api.tiingo.com, and http://blog.tiingo.com (the \"Websites(s)\") our mobile application (“Application(s)”), and our widgets (collectively, w…"
            },
            {
              "key": "privacy.retention",
              "label": "Says how long data is kept",
              "found": false
            },
            {
              "key": "privacy.processors",
              "label": "Says who else receives the data",
              "found": true,
              "quote": "When connecting to our Services via a service provider that uniquely identifies your mobile device, we may receive this identification and use it to offer extended services and/or functionality."
            },
            {
              "key": "privacy.sale",
              "label": "Says whether personal data is sold or shared for advertising",
              "found": false
            },
            {
              "key": "privacy.rights",
              "label": "Says what rights people have over their data",
              "found": false
            },
            {
              "key": "privacy.contact",
              "label": "Gives a privacy contact",
              "found": true,
              "quote": "If you believe that we might have any Personal Data from a child under 13, please contact us at [email protected].",
              "says": "Gives an email address, hidden from our reader by the page"
            },
            {
              "key": "privacy.transfers",
              "label": "Says where data is transferred or stored",
              "found": true,
              "quote": "If you are located anywhere outside of the United States, please be aware that information we collect, including Personal Data, will be transferred to, processed and stored in the United States.",
              "says": "Data goes to the United States"
            }
          ],
          "notes": [
            {
              "date": "2026-11-03",
              "text": "Accounts registered with a company email domain are treated as business accounts, and Tiingo may display the company's name and logo in marketing materials and client lists.",
              "quote": "We may use and publicly display that entity’s name, trade names, trademarks, service marks, and logos in Tiingo marketing materials, customer or client lists, sales materials, presentations, and other public-facing communications"
            },
            {
              "date": "2026-11-03",
              "text": "Removing a logo from marketing requires closing all accounts on the company's domain or entering an enterprise licence agreement at additional cost.",
              "quote": "If a business does not want its logo used, its authorized representative may request closure of all Accounts using its domain, after which Tiingo will remove the logo from public marketing and client-list materials within a commercially reasonable time"
            },
            {
              "date": "2026-11-03",
              "text": "Certain user data may be reported to stock exchanges where the SEC or other law requires it, and personal data may be disclosed in some circumstances.",
              "quote": "Certain User Data may be reported to the stock exchanges (e.g. NASDAQ, NYSE, IEX, etc.) as is required by the Securities Exchange Commission (“SEC”) or other applicable governing law."
            }
          ]
        }
      ]
    },
    "humans": {
      "slug": "tiingo",
      "checked": "2026-11-03",
      "company": "Tiingo Inc.",
      "people": [
        {
          "name": "Rishi S.",
          "role": "Founder",
          "founder": true,
          "bio": "Rishi S. writes every post on the Tiingo blog and says in the data quality post of 24 August 2026 that he formed Tiingo in 2014. The site gives no surname, title or personal account.",
          "bioSources": [
            "https://www.tiingo.com/blog/",
            "https://www.tiingo.com/blog/tiingo-data-quality-how-we-find-and-fix-market-data-errors/"
          ],
          "page": "/people/rishi-s/"
        }
      ],
      "peopleNote": "The only person named on a first-hand page is the blog author Rishi S., who writes that he formed Tiingo in 2014 and has run it since; the blog gives no surname or title, and the about page, which says the company was formed about ten years ago in Alexandria, VA, names no one. Third-party pages give a full name and the CEO title, but none is first-hand, so they are not used. Investors were looked for on the about page, the pricing page, the blog index and about-us page, and llms.txt, and in two searches; no first-hand page mentions funding or backers.",
      "companySocial": {
        "linkedin": "https://www.linkedin.com/company/tiingo",
        "x": "https://x.com/tiingofinance"
      },
      "support": {
        "emails": [
          "support@tiingo.com"
        ],
        "urls": [
          "https://www.tiingo.com/products/contact",
          "https://www.tiingo.com/documentation/general/overview"
        ],
        "contactEmails": [
          "support@tiingo.com"
        ]
      },
      "sources": [
        "https://www.tiingo.com/about",
        "https://www.tiingo.com/blog/",
        "https://www.tiingo.com/blog/about-us/",
        "https://www.tiingo.com/blog/tiingo-data-quality-how-we-find-and-fix-market-data-errors/",
        "https://www.tiingo.com/llms.txt",
        "https://www.tiingo.com/documentation/appendix/developers"
      ],
      "ownership": {
        "status": "private",
        "checked": "2026-11-03",
        "sources": [
          "https://www.tiingo.com/about",
          "https://www.tiingo.com/blog/"
        ]
      }
    },
    "pageJsonUrl": "https://www.anchorterminal.com/tools/tiingo.json",
    "live": {
      "slug": "tiingo",
      "probe": {
        "target": "https://api.tiingo.com",
        "method": "get",
        "lastAt": "2026-11-04T19:35:15.798153605Z",
        "lastOk": true,
        "lastStatus": 200,
        "lastMs": 584,
        "authRequired": false,
        "uptime24h": 100,
        "uptime30d": 100,
        "p50ms24h": 494,
        "p95ms24h": 587,
        "samples24h": 43,
        "samples30d": 43,
        "days": [
          {
            "date": "2026-11-04",
            "probes": 43,
            "ok": 43
          }
        ]
      },
      "vendorStatus": {
        "page": "https://status.tiingo.com",
        "indicator": "unknown",
        "summary": "no machine-readable status found",
        "checkedAt": "2026-11-04T15:32:39.454553229Z"
      },
      "securityTxt": {
        "url": "https://tiingo.com/.well-known/security.txt",
        "state": "none",
        "checkedAt": "2026-11-04T15:54:24.456607715Z"
      },
      "updatedAt": "2026-11-04T19:35:15.798153605Z"
    }
  }
}
