ax-check.com
by Gauge
F
Finta
finta.com
ax-check.com
Checked 19 September 2026
C
53/100
Agents need your login
Pricing is clear, but docs leave agents guessing on setup.
Pricing page lists all tiers and limits openly. But no documentation index or quickstart was found, so agents can't confirm setup steps or auth details.
3 fixes to start with
Concrete changes, backed by what we found.
https://finta.com/llms.txt returns HTTP 404, so no documentation index exists at the standard path.
Linked from www.finta.com/llms.txt
Recorded coding sessions
Same task, 3 models, no finta.com account. Recorded 19 September 2026 on Pi.
3 recorded · 4m 11s
4m 11s · recorded
Session findings
Select a finding to see it in context.
›Thinking…
The user wants me to explore "Finta" - a product. They want to know how pricing works, whether it will be easy to manage, and to build a simple example. Let me research Finta. Finta is likely a financial technical analysis library (Python) - "finta" is a Python package for financial technical indicators. But that may not be the "product" they mean. Let me check.
Actually, "Finta" could also be a hosted product - Finta is a company doing... Let me think. There's "Finta" which is a fundraising CRM? Or "Finta" the Python library for technical analysis (finta). The user says "hosted product through its SDK or API" and "developer workflow".
Let me search the web / check. I have bash access. Let me check if there's network access. Let me research.
The instructions say stay light, use hosted product through SDK or API. If the product has no developer workflow I can act on, say so plainly and stop.
Let me investigate what Finta is. I should check pi docs? No, this is about an external product. Let me use bash to explore.
Let me be careful: "Finta" - there's a well-known Python package finta for financial technical analysis. It's not a hosted product. But there's also Finta (formerly?) a CRM for investor relations? Let me search.
Let me run some commands to check network access.
I'll research Finta to understand what it is, whether it has a hosted developer workflow, and how pricing works.
✓$ curl -s -L --max-time 20 https://finta.io 2>&1 | head -100; echo "---EXIT: $?"✓└{"content":[{"text":"<!-- --> <!-- -->-H<!-- --> <span class=\"text-success\">"Authorization: Bearer finta_..."</span>\n\n<span class=\"text-backgr…ctrl+o
{"content":[{"text":"<!-- --> <!-- -->-H<!-- --> <span class=\"text-success\">"Authorization: Bearer finta_..."</span>\n\n<span class=\"text-background/50\">{</span>\n<!-- --> <span class=\"text-background/60\">"data"</span>: [<!-- -->\n<!-- --> <!-- -->{ <span class=\"text-background/60\">"merchant"</span>:<!-- --> <span class=\"text-success\">"Whole Foods"</span>,<!-- --> <span class=\"text-background/60\">"amount"</span>: -82.34<!-- --> }<!-- -->,<!-- -->\n<!-- --> <!-- -->{ <span class=\"text-background/60\">"merchant"</span>:<!-- --> <span class=\"text-success\">"Payroll"</span>,<!-- --> <span class=\"text-background/60\">"amount"</span>: 3250.00<!-- --> }<!-- -->\n<!-- --> <!-- -->]<!-- -->\n<span class=\"text-background/50\">}</span></code></pre></div><div class=\"mt-auto\"><a class=\"justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-60 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background hover:bg-black/5 dark:hover:bg-white/5 shadow-xs hover:text-accent-foreground dark:border-input h-9 px-4 py-2 has-[>svg]:px-3 !no-underline gap-2 group inline-flex items-center\" href=\"https://docs.finta.io/api/v2/overview\">Read the API docs<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-arrow-right ml-2 h-4 w-4 transition-transform group-hover:translate-x-0.5\"><path d=\"M5 12h14\"></path><path d=\"m12 5 7 7-7 7\"></path></svg></a></div></div></div></div></section><section id=\"security\" class=\"py-24 bg-gradient-to-br from-foreground via-foreground/90 to-foreground text-background relative overflow-hidden\"><div class=\"absolute inset-0 bg-gradient-to-r from-primary/20 to-accent/20\"></div><div class=\"relative z-10 max-w-7xl mx-auto text-center px-6\"><div class=\"inline-flex items-center px-4 py-2 bg-background/10 backdrop-blur rounded-full mb-8\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-shield w-4 h-4 mr-2 text-yellow\"><path d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"></path></svg><span class=\"text-sm font-medium\">Bank-Level Security</span></div><h2 class=\"text-4xl lg:text-5xl font-bold mb-4\">Your data is safe with us</h2><p class=\"text-xl text-background/70 max-w-3xl mx-auto\">We use the same security standards as major banks to protect your financial information.</p><div class=\"grid grid-cols-1 md:grid-cols-3 gap-6 mt-6\"><div class=\"flex items-start space-x-4 p-6 rounded-2xl bg-muted border border-border hover:border-border/80 transition-all\"><div class=\"flex-shrink-0 w-12 h-12 rounded-xl bg-background shadow-sm flex items-center justify-center\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-lock w-5 h-5 text-foreground/70\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\" ry=\"2\"></rect><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"></path></svg></div><div class=\"flex-1\"><h4 class=\"font-semibold text-foreground mb-1\">256-bit Encryption</h4><p class=\"text-sm text-muted-foreground leading-relaxed\">All data is encrypted at rest and in transit using bank-grade encryption</p></div></div><div class=\"flex items-start space-x-4 p-6 rounded-2xl bg-muted border border-border hover:border-border/80 transition-all\"><div class=\"flex-shrink-0 w-12 h-12 rounded-xl bg-background shadow-sm flex items-center justify-center\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-key w-5 h-5 text-foreground/70\"><path d=\"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4\"></path><path d=\"m21 2-9.6 9.6\"></path><circle cx=\"7.5\" cy=\"15.5\" r=\"5.5\"></circle></svg></div><div class=\"flex-1\"><h4 class=\"font-semibold text-foreground mb-1\">Read-Only Access</h4><p class=\"text-sm text-muted-foreground leading-relaxed\">We never store your bank credentials and can't move your money</p></div></div><div class=\"flex items-start space-x-4 p-6 rounded-2xl bg-muted border border-border hover:border-border/80 transition-all\"><div class=\"flex-shrink-0 w-12 h-12 rounded-xl bg-background shadow-sm flex items-center justify-center\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-shield-check w-5 h-5 text-foreground/70\"><path d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"></path><path d=\"m9 12 2 2 4-4\"></path></svg></div><div class=\"flex-1\"><h4 class=\"font-semibold text-foreground mb-1\">Continuous Monitoring</h4><p class=\"text-sm text-muted-foreground leading-relaxed\">24/7 security monitoring and regular audits protect your financial data</p></div></div></div><div class=\"text-center\"><a class=\"justify-center whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-60 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive underline-offset-4 hover:underline h-10 rounded-md has-[>svg]:px-4 !no-underline gap-2 inline-flex items-center px-6 py-3 mt-6 text-white\" href=\"/security\">Read More About Security at Finta<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-arrow-right ml-2 w-4 h-4\"><path d=\"M5 12h14\"></path><path d=\"m12 5 7 7-7 7\"></path></svg></a></div></div></section><section class=\"py-24 bg-gradient-to-br from-muted/20 to-background\"><div class=\"max-w-4xl mx-auto text-center px-6\"><div class=\"inline-flex items-center px-4 py-2 bg-primary/10 rounded-full mb-8\" style=\"opacity:0;transform:translateY(20px)\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-sparkles w-4 h-4 mr-2 text-primary\"><path d=\"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z\"></path><path d=\"M20 3v4\"></path><path d=\"M22 5h-4\"></path><path d=\"M4 17v2\"></path><path d=\"M5 18H3\"></path></svg><span class=\"text-sm font-medium text-primary\">Start Today!</span></div><h2 class=\"text-4xl lg:text-6xl font-bold mb-6\" style=\"opacity:0;transform:translateY(20px)\">Ready to automate your finances?</h2><p class=\"text-xl text-muted-foreground mb-10 max-w-3xl mx-auto leading-relaxed\" style=\"opacity:0;transform:translateY(20px)\">Join 1,000+ users who've simplified their financial workflows with Finta.<span class=\"block mt-2 font-medium text-foreground\">Set up takes less than 5 minutes.</span></p><div class=\"flex flex-col sm:flex-row gap-4 justify-center mb-12\" style=\"opacity:0;transform:translateY(20px)\"><a class=\"inline-flex items-center justify-center whitespace-nowrap disabled:pointer-events-none disabled:opacity-60 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground hover:bg-primary/90 h-10 rounded-md has-[>svg]:px-4 !no-underline gap-2 my-4 group px-8 py-4 text-lg font-semibold transition-all shadow-xl hover:shadow-2xl hover:-translate-y-1\" href=\"https://finta.link/signup?utm_medium=landing\">Start syncing now<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-arrow-right ml-2 w-5 h-5 group-hover:translate-x-1 transition-transform\"><path d=\"M5 12h14\"></path><path d=\"m12 5 7 7-7 7\"></path></svg></a></div><div class=\"flex flex-col sm:flex-row items-center justify-center gap-6 mb-8 text-sm text-muted-foreground\" style=\"opacity:0;transform:translateY(20px)\"><div class=\"flex items-center\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-circle-check w-5 h-5 mr-2 text-success\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"m9 12 2 2 4-4\"></path></svg><span>7-day free trial</span></div><div class=\"flex items-center\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-circle-check w-5 h-5 mr-2 text-success\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"m9 12 2 2 4-4\"></path></svg><span>No credit card required</span></div><div class=\"flex items-center\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-circle-check w-5 h-5 mr-2 text-success\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"m9 12 2 2 4-4\"></path></svg><span>Cancel anytime</span></div></div><div class=\"flex items-center justify-center space-x-8 text-sm text-muted-foreground\" style=\"opacity:0;transform:translateY(20px)\"><div class=\"flex items-center\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-trending-up w-4 h-4 mr-2 text-success\"><polyline points=\"22 7 13.5 15.5 8.5 10.5 2 17\"></polyline><polyline points=\"16 7 22 7 22 13\"></polyline></svg><span><strong class=\"text-foreground\">1K+</strong> happy users</span></div><div class=\"flex items-center\"><span><strong class=\"text-foreground\">5min</strong> setup</span></div></div></div></section></div><!--$--><!--/$--></div></div><footer class=\"py-20 bg-background border-t border-border\"><div class=\"max-w-7xl mx-auto px-6\"><div class=\"grid grid-cols-2 md:grid-cols-5 gap-8 mb-12\"><div class=\"col-span-2\"><div class=\"text-2xl font-bold bg-gradient-to-r from-foreground to-foreground/80 bg-clip-text text-transparent mb-4\">Finta</div><p class=\"text-muted-foreground mb-6 max-w-sm\">The financial automation platform that syncs your data to the tools you already use.</p><div class=\"flex space-x-4\"><a aria-label=\"Twitter\" class=\"w-10 h-10 bg-muted rounded-lg flex items-center justify-center hover:bg-muted/80 transition-colors\" href=\"https://twitter.com/FintaApp\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"w-5 h-5\"><path d=\"M7.23336 4.69629C7.23336 2.96884 8.63335 1.56857 10.36 1.56857C11.3736 1.56857 12.183 2.04804 12.7254 2.74385C13.3079 2.62467 13.8557 2.40913 14.3513 2.11508C14.1559 2.72598 13.7424 3.2396 13.2033 3.56463C13.2038 3.56568 13.2042 3.56674 13.2047 3.56779C13.7334 3.50361 14.2364 3.36302 14.7048 3.15546L14.7037 3.15715C14.3667 3.66183 13.9431 4.10736 13.4561 4.47034C13.4823 4.64672 13.4956 4.82427 13.4956 5.00079C13.4956 8.6871 10.6873 12.9746 5.52122 12.9746C3.93906 12.9746 2.46544 12.511 1.22505 11.7152C0.992632 11.5661 0.925108 11.2568 1.07423 11.0244C1.0874 11.0038 1.10183 10.9846 1.11734 10.9666C1.20582 10.8202 1.37438 10.7309 1.5554 10.7522C2.47066 10.8601 3.38568 10.7485 4.19219 10.3962C3.39226 10.0434 2.77129 9.35975 2.50204 8.51974C2.45359 8.3686 2.48835 8.20311 2.59351 8.08422C2.59716 8.0801 2.60087 8.07606 2.60464 8.0721C1.96391 7.50819 1.55973 6.68208 1.55973 5.76143V5.72759C1.55973 5.56814 1.64411 5.42059 1.78155 5.33974C1.82671 5.31317 1.87537 5.29511 1.92532 5.28558C1.70549 4.86154 1.58116 4.37984 1.58116 3.86958C1.58116 3.40165 1.58384 2.81192 1.91332 2.28081C1.98718 2.16175 2.10758 2.08915 2.2364 2.07195C2.42588 2.01237 2.64087 2.06969 2.77406 2.23302C3.86536 3.57126 5.44066 4.49583 7.23366 4.73961L7.23336 4.69629ZM5.52122 11.9746C4.73387 11.9746 3.97781 11.8435 3.27248 11.6023C4.13012 11.4538 4.95307 11.1159 5.66218 10.5602C5.81211 10.4427 5.87182 10.2435 5.81126 10.0629C5.7507 9.88234 5.583 9.75943 5.39255 9.75607C4.68968 9.74366 4.06712 9.39716 3.67793 8.86845C3.86828 8.85306 4.05428 8.82039 4.23445 8.77167C4.43603 8.71716 4.57363 8.53114 4.56674 8.32243C4.55985 8.11372 4.41029 7.93718 4.20555 7.89607C3.42694 7.73977 2.79883 7.16764 2.56169 6.42174C2.76255 6.47025 2.97102 6.4991 3.18482 6.5061C3.38563 6.51267 3.56646 6.38533 3.62795 6.19405C3.68943 6.00277 3.61666 5.79391 3.44963 5.68224C2.86523 5.29155 2.48116 4.62464 2.48116 3.86958C2.48116 3.70213 2.48352 3.55268 2.49355 3.41719C3.85115 4.79913 5.70873 5.68931 7.77588 5.79338C7.93225 5.80126 8.08328 5.73543 8.18395 5.61553C8.28463 5.49562 8.32332 5.33548 8.28851 5.18284C8.25255 5.02517 8.23336 4.86284 8.23336 4.69629C8.23336 3.52085 9.18591 2.56857 10.36 2.56857C11.5943 2.56857 12.4956 3.71208 12.4956 5.00079C12.4956 8.25709 10.0202 11.9746 5.52122 11.9746Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg></a><a aria-label=\"Discord\" class=\"w-10 h-10 bg-muted rounded-lg flex items-center justify-center hover:bg-muted/80 transition-colors\" href=\"https://link.finta.io/discord\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"w-5 h-5\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.07451 1.82584C5.03267 1.81926 4.99014 1.81825 4.94803 1.82284C4.10683 1.91446 2.82673 2.36828 2.07115 2.77808C2.02106 2.80525 1.97621 2.84112 1.93869 2.88402C1.62502 3.24266 1.34046 3.82836 1.11706 4.38186C0.887447 4.95076 0.697293 5.55032 0.588937 5.98354C0.236232 7.39369 0.042502 9.08728 0.0174948 10.6925C0.0162429 10.7729 0.0351883 10.8523 0.0725931 10.9234C0.373679 11.496 1.02015 12.027 1.66809 12.4152C2.32332 12.8078 3.08732 13.1182 3.70385 13.1778C3.85335 13.1922 4.00098 13.1358 4.10282 13.0255C4.2572 12.8581 4.5193 12.4676 4.71745 12.1643C4.80739 12.0267 4.89157 11.8953 4.95845 11.7901C5.62023 11.9106 6.45043 11.9801 7.50002 11.9801C8.54844 11.9801 9.37796 11.9107 10.0394 11.7905C10.1062 11.8957 10.1903 12.0269 10.2801 12.1643C10.4783 12.4676 10.7404 12.8581 10.8947 13.0255C10.9966 13.1358 11.1442 13.1922 11.2937 13.1778C11.9102 13.1182 12.6742 12.8078 13.3295 12.4152C13.9774 12.027 14.6239 11.496 14.925 10.9234C14.9624 10.8523 14.9813 10.7729 14.9801 10.6925C14.9551 9.08728 14.7613 7.39369 14.4086 5.98354C14.3003 5.55032 14.1101 4.95076 13.8805 4.38186C13.6571 3.82836 13.3725 3.24266 13.0589 2.88402C13.0214 2.84112 12.9765 2.80525 12.9264 2.77808C12.1708 2.36828 10.8907 1.91446 10.0495 1.82284C10.0074 1.81825 9.96489 1.81926 9.92305 1.82584C9.71676 1.85825 9.5391 1.96458 9.40809 2.06355C9.26977 2.16804 9.1413 2.29668 9.0304 2.42682C8.86968 2.61544 8.71437 2.84488 8.61428 3.06225C8.27237 3.03501 7.90138 3.02 7.5 3.02C7.0977 3.02 6.72593 3.03508 6.38337 3.06244C6.28328 2.84501 6.12792 2.61549 5.96716 2.42682C5.85626 2.29668 5.72778 2.16804 5.58947 2.06355C5.45846 1.96458 5.2808 1.85825 5.07451 1.82584ZM11.0181 11.5382C11.0395 11.5713 11.0615 11.6051 11.0838 11.6392C11.2169 11.843 11.3487 12.0385 11.4508 12.1809C11.8475 12.0916 12.352 11.8818 12.8361 11.5917C13.3795 11.2661 13.8098 10.8918 14.0177 10.5739C13.9852 9.06758 13.7993 7.50369 13.4773 6.21648C13.38 5.82759 13.2038 5.27021 12.9903 4.74117C12.7893 4.24326 12.5753 3.82162 12.388 3.5792C11.7376 3.24219 10.7129 2.88582 10.0454 2.78987C10.0308 2.79839 10.0113 2.81102 9.98675 2.82955C9.91863 2.881 9.84018 2.95666 9.76111 3.04945C9.71959 3.09817 9.68166 3.1471 9.64768 3.19449C9.953 3.25031 10.2253 3.3171 10.4662 3.39123C11.1499 3.6016 11.6428 3.89039 11.884 4.212C12.0431 4.42408 12.0001 4.72494 11.788 4.884C11.5759 5.04306 11.2751 5.00008 11.116 4.788C11.0572 4.70961 10.8001 4.4984 10.1838 4.30877C9.58933 4.12585 8.71356 3.98 7.5 3.98C6.28644 3.98 5.41067 4.12585 4.81616 4.30877C4.19988 4.4984 3.94279 4.70961 3.884 4.788C3.72494 5.00008 3.42408 5.04306 3.212 4.884C2.99992 4.72494 2.95694 4.42408 3.116 4.212C3.35721 3.89039 3.85011 3.6016 4.53383 3.39123C4.77418 3.31727 5.04571 3.25062 5.35016 3.19488C5.31611 3.14738 5.27808 3.09831 5.23645 3.04945C5.15738 2.95666 5.07893 2.881 5.01081 2.82955C4.98628 2.81102 4.96674 2.79839 4.95217 2.78987C4.28464 2.88582 3.25999 3.24219 2.60954 3.5792C2.42226 3.82162 2.20825 4.24326 2.00729 4.74117C1.79376 5.27021 1.61752 5.82759 1.52025 6.21648C1.19829 7.50369 1.01236 9.06758 0.97986 10.5739C1.18772 10.8918 1.61807 11.2661 2.16148 11.5917C2.64557 11.8818 3.15003 12.0916 3.5468 12.1809C3.64885 12.0385 3.78065 11.843 3.9138 11.6392C3.93626 11.6048 3.95838 11.5708 3.97996 11.5375C3.19521 11.2591 2.77361 10.8758 2.50064 10.4664C2.35359 10.2458 2.4132 9.94778 2.63377 9.80074C2.85435 9.65369 3.15236 9.71329 3.29941 9.93387C3.56077 10.3259 4.24355 11.0201 7.50002 11.0201C10.7565 11.0201 11.4392 10.326 11.7006 9.93386C11.8477 9.71329 12.1457 9.65369 12.3663 9.80074C12.5869 9.94779 12.6465 10.2458 12.4994 10.4664C12.2262 10.8762 11.8041 11.2598 11.0181 11.5382ZM4.08049 7.01221C4.32412 6.74984 4.65476 6.60162 5.00007 6.59998C5.34538 6.60162 5.67603 6.74984 5.91966 7.01221C6.16329 7.27459 6.30007 7.62974 6.30007 7.99998C6.30007 8.37021 6.16329 8.72536 5.91966 8.98774C5.67603 9.25011 5.34538 9.39833 5.00007 9.39998C4.65476 9.39833 4.32412 9.25011 4.08049 8.98774C3.83685 8.72536 3.70007 8.37021 3.70007 7.99998C3.70007 7.62974 3.83685 7.27459 4.08049 7.01221ZM9.99885 6.59998C9.65354 6.60162 9.3229 6.74984 9.07926 7.01221C8.83563 7.27459 8.69885 7.62974 8.69885 7.99998C8.69885 8.37021 8.83563 8.72536 9.07926 8.98774C9.3229 9.25011 9.65354 9.39833 9.99885 9.39998C10.3442 9.39833 10.6748 9.25011 10.9184 8.98774C11.1621 8.72536 11.2989 8.37021 11.2989 7.99998C11.2989 7.62974 11.1621 7.27459 10.9184 7.01221C10.6748 6.74984 10.3442 6.60162 9.99885 6.59998Z\" fill=\"currentColor\"></path></svg></a><a aria-label=\"Email\" class=\"w-10 h-10 bg-muted rounded-lg flex items-center justify-center hover:bg-muted/80 transition-colors\" href=\"mailto:hello@finta.io\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"w-5 h-5\"><path d=\"M1 2C0.447715 2 0 2.44772 0 3V12C…✓$ curl -s -L --max-time 20 https://pypi.org/pypi/finta/json 2>&1 | head -50; echo "---EXIT: $?"✓└{"content":[{"text":"{\"info\":{\"author\":\"Peerchemist\",\"author_email\":\"peerchemist@protonmail.ch\",\"bugtrack_url\":null,\"classifiers\":[],\"description…ctrl+o
{"content":[{"text":"{\"info\":{\"author\":\"Peerchemist\",\"author_email\":\"peerchemist@protonmail.ch\",\"bugtrack_url\":null,\"classifiers\":[],\"description\":\"# FinTA (Financial Technical Analysis)\\n\\n[](https://www.gnu.org/licenses/lgpl-3.0)\\n[](https://pypi.python.org/pypi/finta/)\\n[](https://pepy.tech/project/finta/month)\\n[](https://www.python.org/download/releases/3.6.0/)\\n[](https://github.com/ambv/black)\\n[](https://travis-ci.org/peerchemist/finta)\\n[](https://img.shields.io/liberapay/patrons/peerchemist.svg?logo=liberapay)\\n\\nCommon financial technical indicators implemented in Pandas.\\n\\n\\n\\n*This is work in progress, bugs are expected and results of some indicators\\nmay not be accurate.*\\n\\n## Supported indicators:\\n\\nFinta supports over 80 trading indicators:\\n\\n```\\n* Simple Moving Average 'SMA'\\n* Simple Moving Median 'SMM'\\n* Smoothed Simple Moving Average 'SSMA'\\n* Exponential Moving Average 'EMA'\\n* Double Exponential Moving Average 'DEMA'\\n* Triple Exponential Moving Average 'TEMA'\\n* Triangular Moving Average 'TRIMA'\\n* Triple Exponential Moving Average Oscillator 'TRIX'\\n* Volume Adjusted Moving Average 'VAMA'\\n* Kaufman Efficiency Indicator 'ER'\\n* Kaufman's Adaptive Moving Average 'KAMA'\\n* Zero Lag Exponential Moving Average 'ZLEMA'\\n* Weighted Moving Average 'WMA'\\n* Hull Moving Average 'HMA'\\n* Elastic Volume Moving Average 'EVWMA'\\n* Volume Weighted Average Price 'VWAP'\\n* Smoothed Moving Average 'SMMA'\\n* Fractal Adaptive Moving Average 'FRAMA'\\n* Moving Average Convergence Divergence 'MACD'\\n* Percentage Price Oscillator 'PPO'\\n* Volume-Weighted MACD 'VW_MACD'\\n* Elastic-Volume weighted MACD 'EV_MACD'\\n* Market Momentum 'MOM'\\n* Rate-of-Change 'ROC'\\n* Relative Strenght Index 'RSI'\\n* Inverse Fisher Transform RSI 'IFT_RSI'\\n* True Range 'TR'\\n* Average True Range 'ATR'\\n* Stop-and-Reverse 'SAR'\\n* Bollinger Bands 'BBANDS'\\n* Bollinger Bands Width 'BBWIDTH'\\n* Momentum Breakout Bands 'MOBO'\\n* Percent B 'PERCENT_B'\\n* Keltner Channels 'KC'\\n* Donchian Channel 'DO'\\n* Directional Movement Indicator 'DMI'\\n* Average Directional Index 'ADX'\\n* Pivot Points 'PIVOT'\\n* Fibonacci Pivot Points 'PIVOT_FIB'\\n* Stochastic Oscillator %K 'STOCH'\\n* Stochastic oscillator %D 'STOCHD'\\n* Stochastic RSI 'STOCHRSI'\\n* Williams %R 'WILLIAMS'\\n* Ultimate Oscillator 'UO'\\n* Awesome Oscillator 'AO'\\n* Mass Index 'MI'\\n* Vortex Indicator 'VORTEX'\\n* Know Sure Thing 'KST'\\n* True Strength Index 'TSI'\\n* Typical Price 'TP'\\n* Accumulation-Distribution Line 'ADL'\\n* Chaikin Oscillator 'CHAIKIN'\\n* Money Flow Index 'MFI'\\n* On Balance Volume 'OBV'\\n* Weighter OBV 'WOBV'\\n* Volume Zone Oscillator 'VZO'\\n* Price Zone Oscillator 'PZO'\\n* Elder's Force Index 'EFI'\\n* Cummulative Force Index 'CFI'\\n* Bull power and Bear Power 'EBBP'\\n* Ease of Movement 'EMV'\\n* Commodity Channel Index 'CCI'\\n* Coppock Curve 'COPP'\\n* Buy and Sell Pressure 'BASP'\\n* Normalized BASP 'BASPN'\\n* Chande Momentum Oscillator 'CMO'\\n* Chandelier Exit 'CHANDELIER'\\n* Qstick 'QSTICK'\\n* Twiggs Money Index 'TMF'\\n* Wave Trend Oscillator 'WTO'\\n* Fisher Transform 'FISH'\\n* Ichimoku Cloud 'ICHIMOKU'\\n* Adaptive Price Zone 'APZ'\\n* Squeeze Momentum Indicator 'SQZMI'\\n* Volume Price Trend 'VPT'\\n* Finite Volume Element 'FVE'\\n* Volume Flow Indicator 'VFI'\\n* Moving Standard deviation 'MSD'\\n* Schaff Trend Cycle 'STC'\\n```\\n\\n## Dependencies:\\n\\n- python (3.6+)\\n- pandas (1.0.0+)\\n\\nTA class is very well documented and there should be no trouble\\nexploring it and using with your data. Each class method expects proper `ohlc` DataFrame as input.\\n\\n## Install:\\n\\n`pip install finta`\\n\\nor latest development version:\\n\\n`pip install git+git://github.com/peerchemist/finta.git`\\n\\n## Import\\n\\n`from finta import TA`\\n\\nPrepare data to use with finta:\\n\\nfinta expects properly formated `ohlc` DataFrame, with column names in `lowercase`:\\n[\\\"open\\\", \\\"high\\\", \\\"low\\\", \\\"close\\\"] and [\\\"volume\\\"] for indicators that expect `ohlcv` input.\\n\\n### to resample by time period (you can choose different time period)\\n`ohlc = resample(df, \\\"24h\\\")`\\n\\n### You can also load a ohlc DataFrame from .csv file\\n\\n`data_file = (\\\"data/bittrex:btc-usdt.csv\\\")`\\n\\n`ohlc = pd.read_csv(data_file, index_col=\\\"date\\\", parse_dates=True)`\\n\\n____________________________________________________________________________\\n\\n## Examples:\\n\\n### will return Pandas Series object with the Simple moving average for 42 periods\\n`TA.SMA(ohlc, 42)`\\n\\n### will return Pandas Series object with \\\"Awesome oscillator\\\" values\\n`TA.AO(ohlc)`\\n\\n### expects [\\\"volume\\\"] column as input\\n`TA.OBV(ohlc)`\\n\\n### will return Series with Bollinger Bands columns [BB_UPPER, BB_LOWER]\\n`TA.BBANDS(ohlc)`\\n\\n### will return Series with calculated BBANDS values but will use KAMA instead of MA for calculation, other types of Moving Averages are allowed as well.\\n`TA.BBANDS(ohlc, TA.KAMA(ohlc, 20))`\\n\\n\\nFor more examples see examples directory.\\n\\n------------------------------------------------------------------------\\n\\nI welcome pull requests with new indicators or fixes for existing ones.\\nPlease submit only indicators that belong in public domain and are\\nroyalty free.\\n\\n## Contributing\\n\\n1. Fork it (https://github.com/peerchemist/finta/fork)\\n2. Study how it's implemented.\\n3. Create your feature branch (`git checkout -b my-new-feature`).\\n4. Run [black](https://github.com/ambv/black) code formatter on the finta.py to ensure uniform code style.\\n5. Commit your changes (`git commit -am 'Add some feature'`).\\n6. Push to the branch (`git push origin my-new-feature`).\\n7. Create a new Pull Request.\\n\\n------------------------------------------------------------------------\\n\\n## Donate\\n\\nBuy me a beer 🍺:\\n\\nBitcoin: 3NibjuvQPzcfuLaefhUEEFBcmHpXgKgs4m\\n\\nPeercoin: P9dAfWoxT7kksKAStubDQR6RhdXk5z12rV\\n\\n\\n\",\"description_content_type\":\"text/markdown\",\"docs_url\":null,\"download_url\":\"\",\"downloads\":{\"last_day\":-1,\"last_month\":-1,\"last_week\":-1},\"dynamic\":null,\"home_page\":\"https://github.com/peerchemist/finta\",\"keywords\":\"technical analysis,ta,pandas,finance,numpy,analysis\",\"license\":\"LGPLv3+\",\"license_expression\":null,\"license_files\":null,\"maintainer\":\"\",\"maintainer_email\":\"\",\"name\":\"finta\",\"package_url\":\"https://pypi.org/project/finta/\",\"platform\":\"\",\"project_url\":\"https://pypi.org/project/finta/\",\"project_urls\":{\"Homepage\":\"https://github.com/peerchemist/finta\"},\"provides_extra\":null,\"release_url\":\"https://pypi.org/project/finta/1.3/\",\"requires_dist\":[\"numpy\",\"pandas\"],\"requires_python\":\"\",\"summary\":\"Common financial technical indicators implemented in Pandas.\",\"version\":\"1.3\",\"yanked\":false,\"yanked_reason\":null},\"last_serial\":9964283,\"ownership\":{\"organization\":null,\"roles\":[{\"role\":\"Owner\",\"user\":\"peerchemist\"}]},\"releases\":{\"0.2.8\":[{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"caf5c6b9c90374f6eec6fc44243a00e8efcd3b2b25a968f84e810380107653e5\",\"md5\":\"39d4632a022ae518424e42bccc534079\",\"sha256\":\"8bde4b719a79800f452900b7aca39afdfcbee544e36ebc4a147e2447bcfdf53f\"},\"downloads\":-1,\"filename\":\"finta-0.2.8.tar.gz\",\"has_sig\":false,\"md5_digest\":\"39d4632a022ae518424e42bccc534079\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":null,\"size\":16742,\"upload_time\":\"2018-06-13T10:11:07\",\"upload_time_iso_8601\":\"2018-06-13T10:11:07.411148Z\",\"url\":\"https://files.pythonhosted.org/packages/ca/f5/c6b9c90374f6eec6fc44243a00e8efcd3b2b25a968f84e810380107653e5/finta-0.2.8.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3\":[{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"a683837014ce84150f21ade0e6db1f2f7e9fd86a4adcc679950c4519d26dd928\",\"md5\":\"fa72b97709f4fd45344913dbadeafaeb\",\"sha256\":\"26ceb39d11e51f9e4512e218925665c13f9c6e0e4a2d4befda77567158a9762e\"},\"downloads\":-1,\"filename\":\"finta-0.3.tar.gz\",\"has_sig\":false,\"md5_digest\":\"fa72b97709f4fd45344913dbadeafaeb\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":null,\"size\":19429,\"upload_time\":\"2018-06-27T14:11:33\",\"upload_time_iso_8601\":\"2018-06-27T14:11:33.560770Z\",\"url\":\"https://files.pythonhosted.org/packages/a6/83/837014ce84150f21ade0e6db1f2f7e9fd86a4adcc679950c4519d26dd928/finta-0.3.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.1\":[{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"e092fae0d164434e0be9eb9fa09efb6665a363e1f8a4b199bfb8463cfec7c874\",\"md5\":\"62d4c9ad9683c4ac1a9ca2fb7c411ddf\",\"sha256\":\"0e47e3e0d714c22ae3264a39c5c723d4a8fcd2a8f542fd24923cfc2abeb69dd5\"},\"downloads\":-1,\"filename\":\"finta-0.3.1.tar.gz\",\"has_sig\":false,\"md5_digest\":\"62d4c9ad9683c4ac1a9ca2fb7c411ddf\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":null,\"size\":20668,\"upload_time\":\"2018-07-17T21:18:10\",\"upload_time_iso_8601\":\"2018-07-17T21:18:10.929147Z\",\"url\":\"https://files.pythonhosted.org/packages/e0/92/fae0d164434e0be9eb9fa09efb6665a363e1f8a4b199bfb8463cfec7c874/finta-0.3.1.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.2\":[{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"faa7592f8e61158a1255281d9fc40b526b2ee4d29e945a8c6dda65de80eb9588\",\"md5\":\"391dc9c9e5424ef9328dc29f6444614c\",\"sha256\":\"338046f777cec52f43d3e622428e396fd843a3be72288b692ba71260531c9de7\"},\"downloads\":-1,\"filename\":\"finta-0.3.2.tar.gz\",\"has_sig\":false,\"md5_digest\":\"391dc9c9e5424ef9328dc29f6444614c\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":null,\"size\":21330,\"upload_time\":\"2018-08-09T13:24:13\",\"upload_time_iso_8601\":\"2018-08-09T13:24:13.509057Z\",\"url\":\"https://files.pythonhosted.org/packages/fa/a7/592f8e61158a1255281d9fc40b526b2ee4d29e945a8c6dda65de80eb9588/finta-0.3.2.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.3\":[{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"e06d8c5a74d15b47a969e7536b139893635fb0249975b10963c08827f9930339\",\"md5\":\"7d93c87e91648a0c24be8c3d3bdb4f41\",\"sha256\":\"4ff2179b7ea3d0b3e0eef922c55f148b6f98e1e3a9147d8cd6f051471f7cb5ee\"},\"downloads\":-1,\"filename\":\"finta-0.3.3.tar.gz\",\"has_sig\":false,\"md5_digest\":\"7d93c87e91648a0c24be8c3d3bdb4f41\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":null,\"size\":21360,\"upload_time\":\"2018-10-30T13:45:15\",\"upload_time_iso_8601\":\"2018-10-30T13:45:15.605389Z\",\"url\":\"https://files.pythonhosted.org/packages/e0/6d/8c5a74d15b47a969e7536b139893635fb0249975b10963c08827f9930339/finta-0.3.3.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.4\":[{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"35badfc104a68baaa5908a8e37d71add4a28c70db86bcca6fc7f2d3a3499b370\",\"md5\":\"9583a325fde6f4ce306e39a7c10dff6e\",\"sha256\":\"4b65bb857d3f0d633151d7cb274e8fd2d050c05a835dbd830861646547a6fd96\"},\"downloads\":-1,\"filename\":\"finta-0.3.4.tar.gz\",\"has_sig\":false,\"md5_digest\":\"9583a325fde6f4ce306e39a7c10dff6e\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":null,\"size\":21729,\"upload_time\":\"2019-02-14T14:26:09\",\"upload_time_iso_8601\":\"2019-02-14T14:26:09.401107Z\",\"url\":\"https://files.pythonhosted.org/packages/35/ba/dfc104a68baaa5908a8e37d71add4a28c70db86bcca6fc7f2d3a3499b370/finta-0.3.4.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.5\":[{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"7345f6c77ec15ca876d7d6e15311acdda0270bc64ad3cba5152d297b24ced4da\",\"md5\":\"227f36d85c8e94c12e76d75d6eed67de\",\"sha256\":\"8813c2417f1483ee7e13aa1447257826db6ae8be84f20037539d8635407e6811\"},\"downloads\":-1,\"filename\":\"finta-0.3.5.tar.gz\",\"has_sig\":false,\"md5_digest\":\"227f36d85c8e94c12e76d75d6eed67de\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":null,\"size\":23588,\"upload_time\":\"2019-02-15T09:15:35\",\"upload_time_iso_8601\":\"2019-02-15T09:15:35.923423Z\",\"url\":\"https://files.pythonhosted.org/packages/73/45/f6c77ec15ca876d7d6e15311acdda0270bc64ad3cba5152d297b24ced4da/finta-0.3.5.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.6\":[{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"016f8eeb342fb6ac31142662bcdcf97fc68fb4ba322bd683d8b482716b68e022\",\"md5\":\"f257500c57558140597422adad8332ef\",\"sha256\":\"8fd1e594b96dbf7a6225ec32190acea5741a550c3a3a5393d99a345decd1ef53\"},\"downloads\":-1,\"filename\":\"finta-0.3.6.tar.gz\",\"has_sig\":false,\"md5_digest\":\"f257500c57558140597422adad8332ef\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":null,\"size\":24413,\"upload_time\":\"2019-02-22T08:59:57\",\"upload_time_iso_8601\":\"2019-02-22T08:59:57.727280Z\",\"url\":\"https://files.pythonhosted.org/packages/01/6f/8eeb342fb6ac31142662bcdcf97fc68fb4ba322bd683d8b482716b68e022/finta-0.3.6.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.7\":[{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"0dcd119cf0d6ae53241eef4b0ff55292969e1d0b62fc6d2ed1f3f39b19ed1327\",\"md5\":\"b56c39fdc464c82c6de236e645bbc7b2\",\"sha256\":\"e5f802a5cb4575b271ff059a65120f404a125d4fb97ffe75b4099d61e399075a\"},\"downloads\":-1,\"filename\":\"finta-0.3.7.tar.gz\",\"has_sig\":false,\"md5_digest\":\"b56c39fdc464c82c6de236e645bbc7b2\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":null,\"size\":24888,\"upload_time\":\"2019-05-05T11:36:04\",\"upload_time_iso_8601\":\"2019-05-05T11:36:04.442576Z\",\"url\":\"https://files.pythonhosted.org/packages/0d/cd/119cf0d6ae53241eef4b0ff55292969e1d0b62fc6d2ed1f3f39b19ed1327/finta-0.3.7.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.8\":[{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"a77eea74f99631227f2d9e77e1e13ee3f695425bcb17aaaf1caec0e5493729d0\",\"md5\":\"b500fda8ae8193580ce263d28152e7c3\",\"sha256\":\"e1c3422eaaeca6449b5fa304de17243952c853138642e18e698b3bed3a165c83\"},\"downloads\":-1,\"filename\":\"finta-0.3.8.tar.gz\",\"has_sig\":false,\"md5_digest\":\"b500fda8ae8193580ce263d28152e7c3\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":null,\"size\":25222,\"upload_time\":\"2019-05-08T19:15:06\",\"upload_time_iso_8601\":\"2019-05-08T19:15:06.116167Z\",\"url\":\"https://files.pythonhosted.org/packages/a7/7e/ea74f99631227f2d9e77e1e13ee3f695425bcb17aaaf1caec0e5493729d0/finta-0.3.8.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.9\":[{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"79e4356002655f66d4712cdfaabf076ca9b681a1c99c1fec8edfbf943cc32609\",\"md5\":\"1e2cab93fc68a6cef35e1ec30b443240\",\"sha256\":\"9fc7e0df8c02958f334d27ee3ba577c37e08e040e19e9477968cb3daad867240\"},\"downloads\":-1,\"filename\":\"finta-0.3.9.tar.gz\",\"has_sig\":false,\"md5_digest\":\"1e2cab93fc68a6cef35e1ec30b443240\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":null,\"size\":25547,\"upload_time\":\"2019-06-06T10:03:03\",\"upload_time_iso_8601\":\"2019-06-06T10:03:03.537893Z\",\"url\":\"https://files.pythonhosted.org/packages/79/e4/356002655f66d4712cdfaabf076ca9b681a1c99c1fec8edfbf943cc32609/finta-0.3.9.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.4.0\":[{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"58fce5b667c5e3c4f9cd72ce0c17be939b2a21a04aee4c92960ae938add1a3a1\",\"md5\":\"892cac941b31177fa8537b4bbcc41df8\",\"sha256\":\"38ff082371495ce9307929ba3240dbac2dd60ab5444c596f84d606dd044f41bc\"},\"downloads\":-1,\"filename\":\"finta-0.4.0.tar.gz\",\"has_sig\":false,\"md5_digest\":\"892cac941b31177fa8537b4bbcc41df8\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":null,\"size\":25880,\"upload_time\":\"2020-01-13T10:44:07\",\"upload_time_iso_8601\":\"2020-01-13T10:44:07.518966Z\",\"url\":\"https://files.pythonhosted.org/packages/58/fc/e5b667c5e3c4f9cd72ce0c17be939b2a21a04aee4c92960ae938add1a3a1/finta-0.4.0.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.4.1\":[{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"c69ff43862e6da3234151144393080d212229cc862c6abfac9ebba1be363dc2e\",\"md5\":\"ab64451660b887d2f5d6c23906f080b2\",\"sha256\":\"1a4c63817346ccbd42216a910d0f2cd2ada46ea0ed48e5b0de43ed0593dc1f3c\"},\"downloads\":-1,\"filename\":\"finta-0.4.1.tar.gz\",\"has_sig\":false,\"md5_digest\":\"ab64451660b887d2f5d6c23906f080b2\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":null,\"size\":26082,\"upload_time\":\"2020-01-25T12:34:53\",\"upload_time_iso_8601\":\"2020-01-25T12:34:53.174244Z\",\"url\":\"https://files.pythonhosted.org/packages/c6/9f/f43862e6da3234151144393080d212229cc862c6abfac9ebba1be363dc2e/finta-0.4.1.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.4.2\":[{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"65e23f9d588c8947b9a57468da3de610c07d40a109d88fb29163cd3260cba265\",\"md5\":\"faf8e605a71250b67e795d48755a4807\",\"sha256\":\"f7989874174c72ea6b1c5334b9fd51a8ece1704d23c30b7768d92b39fe860a50\"},\"downloads\":-1,\"filename\":\"finta-0.4.2.tar.gz\",\"has_sig\":false,\"md5_digest\":\"faf8e605a71250b67e795d48755a4807\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":null,\"size\":26086,\"upload_time\":\"2020-03-18T16:51:22\",\"upload_time_iso_8601\":\"2020-03-18T16:51:22.678787Z\",\"url\":\"https://files.pythonhosted.org/packages/65/e2/3f9d588c8947b9a57468da3de610c07d40a109d88fb29163cd3260cba265/finta-0.4.2.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.4.3\":[{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"cc4784baf0d51669fa536cae1a989249ee1bf3e892d25bef795abc8b79028d23\",\"md5\":\"f0f6306ae4fdd42dd7737e688d0dc41a\",\"sha256\":\"89506cd40abcad384595e21f7488c56004db255b9a3c2e925d1865fc67dc1b82\"},\"downloads\":-1,\"filename\":\"finta-0.4.3-py3.8.egg\",\"has_sig\":false,\"md5_digest\":\"f0f6306ae4fdd42dd7737e688d0dc41a\",\"packagetype\":\"bdist_egg\",\"python_version\":\"3.8\",\"requires_python\":null,\"size\":51639,\"upload_time\":\"2020-06-16T12:13:53\",\"upload_time_iso_8601\":\"2020-06-16T12:13:53.819234Z\",\"url\":\"https://files.pythonhosted.org/packages/cc/47/84baf0d51669fa536cae1a989249ee1bf3e892d25bef795abc8b79028d23/finta-0.4.3-py3.8.egg\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"core-metadata\":false,\"digests\":{\"blake2b_256\":\"4371206d739cabb5a5e55d84b65f3dce44be1b1664cbef8513a5c35f176f0ac5\",\"md5\":\"218cee283f88114661befb2d540a8b59\",\"sha256\":\"b487a389bfb384ae4463453053062fe13cbaa634c8970ee1a7a9f670d65242ed\"},\"downloads\":-1,\"filename\":\"finta-0.4.3.tar.gz\",\"has_sig\":false,\"md5_digest\":\"218cee283f88114661befb2d540a8b59\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":null,\"size\":26193,\"upload_time\":\"2020-04-16T09:42:04\",\"upload_time_iso_8601\":\"2020-04-16T09:42:04.230974Z\",\"url\":\"https://files.pythonhosted.org/packages/43/71/206d739cabb5a5e55d84b65f3dce44be1b1664cbef8513a5c35f176f0ac5/finta-0.…›Thinking…
There are two "Finta" products:
-
finta(Python PyPI package) — a technical analysis library, NOT hosted, no pricing, no API/SDK. This is a library, open source, LGPL. -
Finta (finta.io) — a hosted financial automation platform that syncs bank/Stripe data to Notion, Airtable, Google Sheets, Coda. It has an API documented at docs.finta.io/api/v2/overview, and pricing. The landing page mentions "finta_..." bearer tokens, API docs.
The user said "Finta" with a capital F and asks about "pricing" and "hosted product through its SDK or API" and "developer workflow I can act on". So they mean finta.io (the hosted product), not the PyPI package. The PyPI package has no pricing and isn't hosted.
Let me investigate the hosted Finta product: docs.finta.io, pricing page, API v2 overview. Let me fetch the API docs and pricing page.
Let me check the docs and pricing.
There are two things called "Finta" — an open-source Python TA library (no pricing, not hosted) and the hosted product at finta.io. Since you asked about pricing and a hosted API/SDK, I'll investigate the hosted product.
✓$ curl -s -L --max-time 20 https://www.finta.io/pricing 2>&1 | python3 -c "import sys,html,re; t=sys.stdin.read(); t=re.sub(r'<script.*?</script>','',t,flags=re.S); t=re.sub(r'<style.*?</style>','',t,fl…✓└{"content":[{"text":"Pricing\nPlans\nPricing\nfree\ntrial\npricing\nPricing\nplan\nfree\ntrial\nMonthly\nYearly\nfree\ntrial\nBusiness\nPro\nbusinesses\nfree\nt…ctrl+o
curl -s -L --max-time 20 https://www.finta.io/pricing 2>&1 | python3 -c "import sys,html,re; t=sys.stdin.read(); t=re.sub(r'<script.*?</script>','',t,flags=re.S); t=re.sub(r'<style.*?</style>','',t,flags=re.S); t=re.sub(r'<[^>]+>',' ',t); t=html.unescape(t); print(re.sub(r'\s+',' ',t))" | tr ' ' '\n' | tr -d '"' | grep -iE 'free|pro|business|month|year|\\\$|trial|plan|pricing|per ' | head -80; echo '---'; curl -s -L --max-time 20 https://www.finta.io/pricing -o /tmp/finta_pricing.html && wc -c /tmp/finta_pricing.html
{"content":[{"text":"Pricing\nPlans\nPricing\nfree\ntrial\npricing\nPricing\nplan\nfree\ntrial\nMonthly\nYearly\nfree\ntrial\nBusiness\nPro\nbusinesses\nfree\ntrial\ntrial\nprogram\nyears.\nProduct\nproduct.\nBusiness\nfree\ntrial?\nplan?\nplan?\nfree\ntrial\nFree\nTrial\nFree\nTrial\nProduct\nprogram\n---\n144327 /tmp/finta_pricing.html\n","type":"text"}]}✓$ curl -s -L --max-time 20 https://docs.finta.io/api/v2/overview 2>&1 | python3 -c "import sys,html,re; t=sys.stdin.read(); t=re.sub(r'<script.*?</script>','',t,flags=re.S); t=re.sub(r'<style.*?</style>…✓└{"content":[{"text":" Overview - Finta Documentation Index Fetch the complete documentation index at: /llms.txt Use this file to discover all available pages be…ctrl+o
curl -s -L --max-time 20 https://docs.finta.io/api/v2/overview 2>&1 | python3 -c "import sys,html,re; t=sys.stdin.read(); t=re.sub(r'<script.*?</script>','',t,flags=re.S); t=re.sub(r'<style.*?</style>','',t,flags=re.S); t=re.sub(r'<[^>]+>',' ',t); t=html.unescape(t); print(re.sub(r'\s+',' ',t))" | head -c 6000
{"content":[{"text":" Overview - Finta Documentation Index Fetch the complete documentation index at: /llms.txt Use this file to discover all available pages before exploring further. Skip to main content Finta home page Search... ⌘ K Contact Us Dashboard Dashboard Search... Navigation API Overview Documentation API MCP Community API Overview Authentication API Keys Data Types Reference Health Bank Connections Me Accounts Investments Transactions Categories Category Groups Rules On this page Manual accounts Requirements Rate limits Errors OpenAPI spec API Overview Copy page Copy page Access your Finta financial data programmatically with the REST API. Copy page Copy page The Finta API lets you read your stored financial data, including accounts, transactions, balances, holdings, investment activity, and bank connections, from any HTTP client or script. It also supports a focused set of writes: managing manual accounts (create, update, and close accounts you track by hand, including liability accounts like credit cards, student loans, and mortgages), creating and editing manual categories , recategorizing transactions , and managing rules . See the OpenAPI reference for every endpoint. Base URL: https://api.finta.io/v2 Format: JSON Authentication: Bearer token (API key) Manual accounts Most accounts in Finta sync automatically from a connected bank. Manual accounts are ones you maintain yourself: cash, a property, a private loan, or a credit card you’d rather track by hand. POST /accounts creates a manual account. Set currentBalance to the amount owed for liabilities, and pass a liability object ( type of credit , student , or mortgage ) to record debt details. PATCH /accounts/{accountId} updates the name, type, currency, balance, or liability data. Updating the balance records a balance-history snapshot for that day. DELETE /accounts/{accountId} closes the account (soft delete): it moves to closed status but keeps its transactions and balance history. Only manual accounts can be created, updated, or deleted. Bank-synced accounts are read-only and return 400 on a write. Manual account changes automatically sync to any connected destinations (Airtable, Notion, Google Sheets, etc.) the account is linked to. If your API key (or OAuth client) is scoped to a specific set of accounts, an account it creates is automatically added to that allowlist, so the same credential can read and manage it right away. Requirements Requirement Details Active subscription API access is available on Standard and Pro plans. Storage Mode The v2 API reads from data Finta has already synced and stored. Creating an API key from the dashboard enables Storage Mode automatically. API key Generate one from API settings . Rate limits Plan Limit Standard 200 requests / minute Pro Higher limits (contact us) Requests that exceed the limit return 429 RATE_LIMITED . The response may include a retryAfter field (seconds). Errors Most errors use a structured envelope: { \"error\" : { \"code\" : \"STORAGE_MODE_REQUIRED\" , \"message\" : \"Storage mode must be enabled to use the v2 API\" } } Code HTTP When BAD_REQUEST 400 Invalid parameters or body STORAGE_MODE_REQUIRED 403 Storage mode is off SUBSCRIPTION_REQUIRED 403 Subscription inactive or canceled NOT_FOUND 404 Resource missing or not owned by the caller RATE_LIMITED 429 Rate limit exceeded PROVIDER_UNAVAILABLE 502 Upstream provider error INTERNAL_ERROR 500 Unexpected server error 401 responses use a plain string rather than the envelope: { \"error\" : \"Missing or invalid Authorization header\" } OpenAPI spec The full OpenAPI spec is available at: https://api.finta.io/v2/openapi.json Authentication twitter Powered by This documentation is built and hosted on Mintlify, a developer documentation platform \n","type":"text"}]}›Thinking…
Now I have the hosted product API details. Let me get the pricing details more precisely. The pricing page HTML is saved to /tmp/finta_pricing.html. Let me parse it for price amounts. Also fetch the llms.txt for full docs index to see all endpoints and figure out the simplest example I can actually run.
Importantly: API access requires an active subscription (Standard or Pro plan), an API key generated from the dashboard, and Storage Mode enabled. This means I cannot actually run a live example without credentials. I should note this. The user said: "use the hosted product through its SDK or API... If this product has no developer workflow you can act on, say so plainly and stop."
There IS a developer workflow (REST API + API keys + OpenAPI + MCP). But I don't have an API key. I can still build a "simple example" as a code snippet (curl/Python) that the user runs with their own key. I can also test that the API base responds (auth error) to confirm reachability. Let me do that.
Let me get pricing details from the saved HTML, and the full docs index via llms.txt.
✓$ python3 - <<'EOF'✓└{"content":[{"text":"Finta Pricing — Plans from $7/mo with API & MCP Access Features Integrations Supported banks Templates Guides Pricing Blog About Sign in St…ctrl+o
python3 - <<'EOF'
import re, html
t = open('/tmp/finta_pricing.html').read()
t = re.sub(r'<script.*?</script>','',t,flags=re.S)
t = re.sub(r'<style.*?</style>','',t,flags=re.S)
# Find price-like tokens and nearby context
text = re.sub(r'<[^>]+>',' ',t)
text = html.unescape(text)
text = re.sub(r'\s+',' ',text)
for m in re.finditer(r'\$[0-9]+(?:\.[0-9]+)?', text):
s = max(0, m.start()-160); e = min(len(text), m.end()+160)
print(text[s:e].strip()[:320])
print('---')
EOF
{"content":[{"text":"Finta Pricing — Plans from $7/mo with API & MCP Access Features Integrations Supported banks Templates Guides Pricing Blog About Sign in Start free trial Simple, transparent pricing Pricing\n---\n","type":"text"}]}✓$ curl -s -L --max-time 20 https://docs.finta.io/llms.txt 2>&1 | head -c 8000✓└{"content":[{"text":"# Finta\n\n> Finta syncs financial data from banks and payment processors to productivity tools like Airtable, Notion, Google Sheets, and C…ctrl+o
{"content":[{"text":"# Finta\n\n> Finta syncs financial data from banks and payment processors to productivity tools like Airtable, Notion, Google Sheets, and Coda. Documentation for setup, integrations, and troubleshooting.\n\n- [Introduction](https://docs.finta.io/introduction.md): Welcome to Finta documentation\n- [What is Finta?](https://docs.finta.io/getting-started/what-is-finta.md): Finta syncs your financial data to the tools you already use. Connect banks, credit cards, investments, and payment processors to Notion, Airtable, Google Sheets, and Coda.\n- [Quick Start Guide](https://docs.finta.io/getting-started/quickstart.md): Create your Finta account, connect your bank, and set up your first destination in minutes.\n- [How Finta syncs your data](https://docs.finta.io/syncs.md): Learn how often Plaid, GoCardless, Mercury, and Stripe data syncs to Finta, when to run a manual sync, and why updates can be delayed.\n- [Pricing & Plans](https://docs.finta.io/getting-started/pricing.md): Finta offers a 7-day free trial, a Standard plan for personal use, and a Pro plan for power users and businesses. No credit card required to start.\n- [Storage mode](https://docs.finta.io/getting-started/storage-mode.md): Storage mode allows Finta to store your financial data to improve uptime and unlock advanced features.\n- [Reset your Finta password](https://docs.finta.io/account/password-reset.md): Request a password reset, use the email link, and fix common password-reset problems.\n- [Manage your email notifications](https://docs.finta.io/account/notifications.md): Choose which Finta emails you get, set how often Sync Updates arrive, and control the timezone that sets their date range.\n- [Bank Connections](https://docs.finta.io/bank-connections/overview.md): Connect your banks, credit cards, investment accounts, and payment processors to Finta. Supports Plaid, GoCardless, Mercury, and Stripe.\n- [Reconnect](https://docs.finta.io/bank-connections/reconnect.md): Why bank connections disconnect, what happens to your data, and how to reconnect each provider in Finta.\n- [Plaid: Connect a Bank](https://docs.finta.io/bank-connections/plaid/connect-bank.md): Connect a US or Canadian bank, credit card, or investment account to Finta using Plaid. Finta never sees or stores your bank credentials.\n- [Manage Connection](https://docs.finta.io/bank-connections/plaid/manage-connection.md): Manage your Plaid bank connection in Finta. Re-authenticate expired credentials, add or remove accounts, view sync history, and troubleshoot connection issues.\n- [Plaid Says You Have No Accounts](https://docs.finta.io/bank-connections/plaid/no-accounts-found.md): Tell a pre-save Plaid NO_ACCOUNTS result from a saved connection whose accounts are pending or unavailable.\n- [AI Categorization](https://docs.finta.io/bank-connections/plaid/ai-categorization.md): Understand what the \"Use AI Categorization\" toggle does in your Categories table settings and how to turn it on or off.\n- [Connect and manage GoCardless](https://docs.finta.io/bank-connections/gocardless/manage-connection.md): Connect a bank through GoCardless, understand the return to Finta, and renew access when Finta asks you to reconnect.\n- [Manage Connection](https://docs.finta.io/bank-connections/mercury/manage-connection.md): Manage your Mercury bank connection in Finta. Re-authorize expired OAuth tokens, enable real-time syncing, and troubleshoot connection issues.\n- [Connect Stripe](https://docs.finta.io/bank-connections/stripe/connect-stripe.md): Connect a Stripe account to Finta with a restricted key and the permissions Finta needs.\n- [Manage Connection](https://docs.finta.io/bank-connections/stripe/manage-connection.md): Manage your Stripe connection in Finta. Update your API key, understand required permissions, and troubleshoot connection issues.\n- [Rules](https://docs.finta.io/your-data/rules.md): Automatically categorize, rename, or hide transactions with rules that run on your stored data.\n- [Categories](https://docs.finta.io/your-data/categories.md): One set of categories across every bank. View, create, group, and rename the categories Finta assigns to your transactions.\n- [Destinations](https://docs.finta.io/destinations/overview.md): Sync your financial data to Notion, Airtable, Google Sheets, or Coda. Finta pushes transactions, balances, and investment data to the tools you already use.\n- [Google Sheets](https://docs.finta.io/destinations/integrations/google-sheets.md): Connect Finta to Google Sheets and keep financial records current in a spreadsheet.\n- [Notion](https://docs.finta.io/destinations/integrations/notion.md): Connect Finta to Notion and keep financial records current in your workspace.\n- [Airtable](https://docs.finta.io/destinations/integrations/airtable.md): Connect Finta to Airtable and keep financial records current in a base.\n- [Coda](https://docs.finta.io/destinations/integrations/coda.md): Install the Finta Coda Pack and sync financial records into a Coda doc.\n- [Create a Destination](https://docs.finta.io/destinations/create-destination.md): Set up a Notion, Airtable, Google Sheets, or Coda destination and start syncing your financial data in minutes.\n- [Manage Destination](https://docs.finta.io/destinations/manage-destination.md): Rename your destination, view settings, and manage your synced data in Finta.\n- [Custom Transaction Categories with Rules](https://docs.finta.io/destinations/custom-transaction-categories.md): Override auto-assigned categories on transactions using the Rules engine. Assign your own category labels to any transaction based on merchant name, amount, or description.\n- [Charts Overview](https://docs.finta.io/charts/overview.md): Build live charts from your synced Finta data and embed them anywhere, starting with Notion.\n- [Create a Chart](https://docs.finta.io/charts/create-a-chart.md): Build a chart from a Notion database, preview it live, and get an embed link.\n- [Chart Types](https://docs.finta.io/charts/chart-types.md): Configure Metric, Bar, Line, and Donut charts from your Finta data.\n- [Filters](https://docs.finta.io/charts/filters.md): Narrow a chart down to exactly the rows you want to show.\n- [Embed in Notion](https://docs.finta.io/charts/embed-in-notion.md): Add a live Finta chart to any Notion page.\n- [Overview](https://docs.finta.io/api/v2/overview.md): Access your Finta financial data programmatically with the REST API.\n- [Authentication](https://docs.finta.io/api/v2/authentication.md): How to authenticate requests to the Finta API.\n- [API Keys](https://docs.finta.io/api/v2/api-keys.md): Create, manage, and scope API keys for the Finta API.\n- [Data Types](https://docs.finta.io/api/v2/data-types.md): Shapes of objects returned by the Finta API.\n- [Health Check](https://docs.finta.io/api-reference/health/health-check.md): Returns API health status. Public endpoint; does not require authentication.\n- [List bank connections](https://docs.finta.io/api-reference/bank-connections/list-bank-connections.md): Returns bank connections from durable Finta data only. Does not call live providers.\n- [Current API user](https://docs.finta.io/api-reference/me/current-api-user.md): Returns the authenticated user. Useful for verifying API keys, storage mode, and integration setup.\n- [List accounts](https://docs.finta.io/api-reference/accounts/list-accounts.md): Returns bank accounts from durable Finta data only. Does not call live providers.\n- [Create a manual account](https://docs.finta.io/api-reference/accounts/create-a-manual-account.md): Create a manual (non-synced) account the user tracks by hand, including liability accounts (credit, student, mortgage). Only manual accounts can be created.\n- [List balance history](https://docs.finta.io/api-reference/accounts/list-balance-history.md): Returns stored daily balance snapshots across accounts. Supports cursor pagination.\n- [Get account](https://docs.finta.io/api-reference/accounts/get-account.md): Returns a single bank account by Finta account ID.\n- [Delet","type":"text"}]}✓$ echo '== no auth =='; curl -s -L --max-time 15 -w '\nHTTP:%{http_code}\n' https://api.finta.io/v2/openapi.json -o /tmp/openapi.json; head -c 400 /tmp/openapi.json; echo; echo '== health =='; curl -s -…✓└{"content":[{"text":"== no auth ==\n\nHTTP:200\n{\"openapi\":\"3.0.3\",\"info\":{\"title\":\"Finta API v2\",\"version\":\"2.0.0\",\"description\":\"DB-backed Fi…ctrl+o
echo '== no auth =='; curl -s -L --max-time 15 -w '\nHTTP:%{http_code}\n' https://api.finta.io/v2/openapi.json -o /tmp/openapi.json; head -c 400 /tmp/openapi.json; echo; echo '== health =='; curl -s -L --max-time 15 -w '\nHTTP:%{http_code}\n' https://api.finta.io/v2/health
{"content":[{"text":"== no auth ==\n\nHTTP:200\n{\"openapi\":\"3.0.3\",\"info\":{\"title\":\"Finta API v2\",\"version\":\"2.0.0\",\"description\":\"DB-backed Finta API for users with storage mode enabled. Requires an API key and active subscription.\\n\\n## Rate limits\\n\\nRate limits are enforced per user (shared across the REST API and MCP) based on subscription plan:\\n\\n| Plan | Per minute | Per day |\\n| --- | --- | --- |\\n| Standard | 10 requests | 500 request\n== health ==\n{\"data\":{\"status\":\"ok\",\"timestamp\":\"2026-09-19T05:06:19.929Z\"}}\nHTTP:200\n","type":"text"}]}›Thinking…
Now I have a lot. Let me get pricing details from the pricing doc page (docs.finta.io/getting-started/pricing.md), which will give exact plan prices. And also get the full openapi spec info description and endpoints. Let me also confirm the rate limits (the openapi description mentions Standard 10 requests/min? Wait — the overview said Standard 200/min, but the openapi description says 10 requests/min and 500/day). Let me read the openapi description fully.
Let me fetch:
- https://docs.finta.io/getting-started/pricing.md (raw markdown)
- more of /tmp/openapi.json description
- maybe the authentication and api-keys docs for how to create key.
Also I should check the simplest example: list accounts endpoint GET /accounts. And the "current API user" endpoint GET /me. The health endpoint is public and returns ok (confirmed reachable).
Let me fetch the pricing md and check the full openapi description/rate limits.
✓$ for u in https://docs.finta.io/getting-started/pricing.md https://docs.finta.io/api/v2/authentication.md https://docs.finta.io/api/v2/api-keys.md; do echo "===== $u ====="; curl -s -L --max-time 15 "$…✓└{"content":[{"text":"===== https://docs.finta.io/getting-started/pricing.md =====\n> ## Documentation Index\n> Fetch the complete documentation index at: https:…ctrl+o
for u in https://docs.finta.io/getting-started/pricing.md https://docs.finta.io/api/v2/authentication.md https://docs.finta.io/api/v2/api-keys.md; do echo "===== $u ====="; curl -s -L --max-time 15 "$u"; echo; done
{"content":[{"text":"===== https://docs.finta.io/getting-started/pricing.md =====\n> ## Documentation Index\n> Fetch the complete documentation index at: https://docs.finta.io/llms.txt\n> Use this file to discover all available pages before exploring further.\n\n# Pricing & Plans\n\n> Finta offers a 7-day free trial, a Standard plan for personal use, and a Pro plan for power users and businesses. No credit card required to start.\n\nFinta has two paid plans plus a free trial. Every new account starts with full access for 7 days, no credit card required.\n\n## Free trial\n\nWhen you create an account, you get 7 days to try everything Finta offers. The trial includes all features with no restrictions. You can connect banks, set up destinations, create rules, and run syncs just like a paid user.\n\nIf you don't subscribe before the trial ends, your bank connections are disconnected. Your destination configuration and sync history are preserved, but you'll need to reconnect your banks when you subscribe.\n\n## Plans\n\n| | Standard | Pro |\n| --------------------- | --------- | ---------- |\n| **Monthly** | \\$7/month | \\$15/month |\n| **Annual** | \\$70/year | \\$150/year |\n| **Bank connections** | Up to 10 | Unlimited |\n| **Destinations** | Unlimited | Unlimited |\n| **AI categorization** | ✓ | ✓ |\n| **Rules engine** | ✓ | ✓ |\n| **API access** | ✗ | ✓ |\n| **Priority support** | ✗ | ✓ |\n\nBoth plans include all data types (transactions, balances, holdings, investment transactions) and all destination integrations (Notion, Airtable, Google Sheets, Coda).\n\n<Note>\n A bank connection is one institution, not one account. If you have a checking and savings account at the same bank, that counts as one connection.\n</Note>\n\n## How to subscribe\n\n1. Go to **Settings → Billing** in the Finta dashboard\n2. Choose Standard or Pro\n3. Toggle between monthly and annual billing\n4. Complete payment through Stripe\n\nAnnual billing saves you roughly 17% compared to paying monthly.\n\n## Managing your subscription\n\nActive subscribers can manage their subscription by clicking **Manage Billing** on the Settings → Billing page. This opens the Stripe billing portal where you can:\n\n* Update your payment method\n* Switch between monthly and annual billing\n* Upgrade from Standard to Pro\n* View past invoices\n* Cancel your subscription\n\nIf you cancel, you keep access until the end of your current billing period. Your bank connections and destinations stay configured, so you can resubscribe later without setting everything up again.\n\n## Next steps\n\n<CardGroup cols={2}>\n <Card title=\"Quick Start Guide\" icon=\"rocket\" href=\"/getting-started/quickstart\">\n Set up your first sync in under 5 minutes\n </Card>\n\n <Card title=\"Contact Us\" icon=\"envelope\" href=\"mailto:hello@finta.io\">\n Questions? Reach out to our team\n </Card>\n</CardGroup>\n\n===== https://docs.finta.io/api/v2/authentication.md =====\n> ## Documentation Index\n> Fetch the complete documentation index at: https://docs.finta.io/llms.txt\n> Use this file to discover all available pages before exploring further.\n\n# Authentication\n\n> How to authenticate requests to the Finta API.\n\nAll API endpoints (except `GET /health`) require a Bearer token in the `Authorization` header.\n\n```bash theme={null}\ncurl -H \"Authorization: Bearer YOUR_API_KEY\" \\\n https://api.finta.io/v2/me\n```\n\nAPI keys start with the `finta_` prefix. Generate and manage them from [API settings](https://app.finta.io/settings/api).\n\n## Verify your key\n\nCall `GET /me` to confirm your key is valid and Storage Mode is enabled:\n\n```bash theme={null}\ncurl -H \"Authorization: Bearer YOUR_API_KEY\" \\\n https://api.finta.io/v2/me\n```\n\n```json theme={null}\n{\n \"userId\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"email\": \"you@example.com\",\n \"storageMode\": true\n}\n```\n\nIf Storage Mode is off, the response will be `403 STORAGE_MODE_REQUIRED`. Enable it from [Data settings](https://app.finta.io/settings/data) or by creating a new API key (which enables it automatically).\n\n## Account scope\n\nEach API key can be scoped to a subset of your bank accounts. When a key has a restricted scope, requests for accounts outside that scope return `404 NOT_FOUND`, the same response as if the resource does not exist. This avoids leaking that the account exists.\n\nA key with no scope restriction can access all of your accounts, including any you add in the future.\n\nWhen a scoped key creates a new account (for example a manual account via `POST /accounts`), that account is automatically added to the key's scope so the key can read and manage it. The same applies to scoped OAuth clients.\n\nSee [API Keys](/api/v2/api-keys) for how to configure scope.\n\n===== https://docs.finta.io/api/v2/api-keys.md =====\n> ## Documentation Index\n> Fetch the complete documentation index at: https://docs.finta.io/llms.txt\n> Use this file to discover all available pages before exploring further.\n\n# API Keys\n\n> Create, manage, and scope API keys for the Finta API.\n\nAPI keys authenticate your requests to the Finta API. You can create as many keys as you need, one per project, environment, or integration, and manage them from [API settings](https://app.finta.io/settings/api).\n\n## Creating a key\n\n1. Go to [API settings](https://app.finta.io/settings/api).\n2. Click **Create Key**.\n3. Give it a descriptive name (e.g. *Production*, *Personal scripts*).\n4. Optionally restrict which accounts the key can access (see [Account scope](#account-scope) below).\n5. Click **Create Key**. The secret is shown **once**. Copy it now.\n\nCreating a key enables [Storage Mode](/getting-started/storage-mode) automatically if it isn't already on.\n\n## Naming keys\n\nEvery key has a name. Use names that make it obvious where each key is used so you can safely rotate or delete individual keys without guessing what depends on them.\n\nTo rename a key after creation, click **Rename** next to it in [API settings](https://app.finta.io/settings/api).\n\n## Account scope\n\nBy default, a key can access all of your accounts, including any you connect in the future. You can restrict a key to a specific set of accounts. This is useful for isolating what a particular integration or script can see.\n\n### Setting scope when creating a key\n\nIn the **Create Key** dialog, turn off **Share all accounts** and select the accounts you want the key to access.\n\n### Editing scope after creation\n\n1. Open [API settings](https://app.finta.io/settings/api).\n2. Click **Edit scope** next to the key.\n3. Toggle **Share all accounts** or check/uncheck individual accounts.\n4. Click **Save**.\n\nChanges take effect immediately. You don't need to rotate the key.\n\n### How scope is enforced\n\nWhen a key has a restricted scope, any request for an account outside that scope returns `404 NOT_FOUND`, the same as if the resource does not exist. This avoids leaking that the account exists at all.\n\nAn empty scope (all accounts) is the default and includes accounts you add in the future.\n\n## Rotating a key\n\nRotating generates a new secret and immediately invalidates the old one. The key's **name and account scope are preserved**. Only the secret changes.\n\n1. Click **Rotate** next to the key in [API settings](https://app.finta.io/settings/api).\n2. Confirm the rotation.\n3. Copy the new secret. It is shown **once**.\n4. Update any applications using the old key before closing the dialog.\n\n## Deleting a key\n\nDeleting a key permanently invalidates it. Any application using that key will stop working immediately.\n\n1. Click **Delete** next to the key in [API settings](https://app.finta.io/settings/api).\n2. Confirm deletion.\n\nThis cannot be undone. If you want to cycle the secret without disrupting integrations, use **Rotate** instead.\n\n","type":"text"}]}✓$ python3 - <<'EOF'✓└{"content":[{"text":"DB-backed Finta API for users with storage mode enabled. Requires an API key and active subscription.\n\n## Rate limits\n\nRate limits are …ctrl+o
python3 - <<'EOF'
import json
d = json.load(open('/tmp/openapi.json'))
print(d['info'].get('description','')[:1500])
print('---SERVERS---', d.get('servers'))
print('---PATHS---')
for p, methods in d['paths'].items():
for m in methods:
if m in ('get','post','patch','delete','put'):
summ = methods[m].get('summary','')
print(f"{m.upper():7} {p} {summ}")
EOF
{"content":[{"text":"DB-backed Finta API for users with storage mode enabled. Requires an API key and active subscription.\n\n## Rate limits\n\nRate limits are enforced per user (shared across the REST API and MCP) based on subscription plan:\n\n| Plan | Per minute | Per day |\n| --- | --- | --- |\n| Standard | 10 requests | 500 requests |\n| Pro | 30 requests | 2,000 requests |\n\nWhen a limit is exceeded, the API returns HTTP 429 with `error.code` `RATE_LIMITED` and a human-readable `message`. A `Retry-After` response header is included with the number of seconds until the window resets.\n---SERVERS--- [{'url': 'https://api.finta.io/v2', 'description': 'Production server'}]\n---PATHS---\nGET /health Health Check\nGET /bank-connections List bank connections\nGET /me Current API user\nGET /accounts List accounts\nPOST /accounts Create a manual account\nGET /accounts/balance-history List balance history\nGET /accounts/{accountId} Get account\nPATCH /accounts/{accountId} Update a manual account\nDELETE /accounts/{accountId} Delete a manual account\nGET /accounts/{accountId}/balance-history List account balance history\nGET /securities List securities\nGET /holdings List holdings\nGET /investment-transactions List investment transactions\nGET /transactions List transactions\nPATCH /transactions/{id} Update a transaction\nPOST /transactions/batch Batch update transactions\nGET /categories List categories\nPOST /categories Create a category\nPOST /categories/batch Batch update categories\nPATCH /categories/{id} Update a category\nDELETE /categories/{id} Delete a category\nGET /category-groups List category groups\nPOST /category-groups Create a category group\nPATCH /category-groups/{id} Update a category group\nDELETE /category-groups/{id} Delete a category group\nGET /rules List transaction rules\nPOST /rules Create a transaction rule\nPOST /rules/run Run transaction rules\nPATCH /rules/{ruleId} Update a transaction rule\nDELETE /rules/{ruleId} Archive a transaction rule\n","type":"text"}]}›Thinking…
I now have everything I need. There is a note discrepancy on rate limits: the overview page said "Standard 200 requests / minute", but the OpenAPI spec (current) and probably the pricing says API access is Pro-only, Standard limit 10/min. Wait pricing table says "API access": Standard ✗, Pro ✓. But the API overview said "API access is available on Standard and Pro plans" and "Standard 200 requests / minute; Pro higher". There's a conflict in their docs. The OpenAPI spec description says Standard 10/min, Pro 30/min. And pricing doc says API access is Pro-only. These are inconsistent. I'll note both accurately, noting the discrepancy.
Actually let me re-read: the overview page (docs.finta.io/api/v2/overview) said "Requirements: Active subscription — API access is available on Standard and Pro plans" and "Rate limits: Standard 200 requests/minute; Pro Higher limits (contact us)". The OpenAPI spec says Standard 10/min 500/day; Pro 30/min 2000/day. The pricing doc says API access: Standard ✗, Pro ✓. This is internally inconsistent documentation. I'll flag it honestly.
Now, can I actually run a live example? The only public endpoint is GET /health (confirmed 200 ok). Everything else requires an API key with an active Pro subscription (per pricing) and Storage Mode. I don't have an API key, and I can't create one (requires dashboard login + subscription + payment). So I cannot run a full end-to-end example against the live API. I should say so plainly, and provide a runnable script the user can use with their own key.
The user asked: "build a simple example using Finta... let me know if you get blocked... If this product has no developer workflow you can act on, say so plainly and stop." There IS a developer workflow (REST API + OpenAPI + MCP), but I'm blocked on credentials/subscription. I should be plain about that.
Let me also verify the /me endpoint responds with the "missing auth" 401 to confirm the auth wall, which I can do without a key. The overview said 401 plain string. Let me test it quickly to confirm the shape, so my example is accurate. Also test GET /accounts without auth returns 401.
Let me do a quick test then write the example file.
Plan:
- Test unauth /me and /accounts responses.
- Write a small Python example script (finta_example.py) using only stdlib (urllib) so no deps, that:
- checks health
- verifies key via /me
- lists accounts
- lists transactions (first page)
- optionally creates a manual account (commented maybe, since it's a write) Uses env var FINTA_API_KEY.
- Report pricing, manageability, blockage.
Actually the user said "build a simple example using Finta." I'll create a working example script file in the repo. Keep it light. Let me check current dir contents first maybe. It's /sandbox/repo. Let me just write the file.
Let me test the unauth endpoints.
✓$ echo '== /me no auth =='; curl -s -w '\nHTTP:%{http_code}\n' https://api.finta.io/v2/me; echo '== /accounts no auth =='; curl -s -w '\nHTTP:%{http_code}\n' https://api.finta.io/v2/accounts; echo '== l…✓└{"content":[{"text":"== /me no auth ==\n{\"error\":\"Missing or invalid Authorization header\",\"requestId\":\"71f2e4e9-c5ca-4b3f-b3a6-77faff3d6a33\"}\nHTTP:401…ctrl+o
echo '== /me no auth =='; curl -s -w '\nHTTP:%{http_code}\n' https://api.finta.io/v2/me; echo '== /accounts no auth =='; curl -s -w '\nHTTP:%{http_code}\n' https://api.finta.io/v2/accounts; echo '== ls =='; ls -la
{"content":[{"text":"== /me no auth ==\n{\"error\":\"Missing or invalid Authorization header\",\"requestId\":\"71f2e4e9-c5ca-4b3f-b3a6-77faff3d6a33\"}\nHTTP:401\n== /accounts no auth ==\n{\"error\":\"Missing or invalid Authorization header\",\"requestId\":\"d2bea951-6a8c-45a7-a40d-081fe9f8f6f8\"}\nHTTP:401\n== ls ==\ntotal 16\ndrwxr-xr-x 3 root root 4096 Sep 18 08:00 .\ndrwxr-xr-x 7 root root 4096 Sep 19 05:05 ..\ndrwxr-xr-x 8 root root 4096 Sep 18 08:00 .git\n-rw-r--r-- 1 root root 408 Sep 18 08:00 .gitignore\n","type":"text"}]}›Thinking…
Now let me write the example script. I'll use Python stdlib only. Include README-ish comments. Keep it light and runnable.
Then verify the script at least runs (health check + graceful error without key). Actually I can run it without a key to show it prints helpful messages and hits the live health endpoint (confirmed). That's a legitimate "acted on" demonstration limited to the public endpoint.
Let me write finta_example.py.
A live end-to-end call is blocked only by credentials (more below), but the public GET /health endpoint responds 200 OK, and the auth wall returns the documented 401 envelope. I'll write the runnable example you can drop a key into.
✓write /sandbox/repo/finta_example.py✓└{"content":[{"text":"Successfully wrote 2794 bytes to /sandbox/repo/finta_example.py","type":"text"}]}
✓$ python3 finta_example.py✓└{"content":[{"text":"\n== GET /health (no auth needed) (HTTP 200) ==\n{\n \"data\": {\n \"status\": \"ok\",\n \"timestamp\": \"2026-09-19T05:07:02.742Z\…ctrl+o
{"content":[{"text":"\n== GET /health (no auth needed) (HTTP 200) ==\n{\n \"data\": {\n \"status\": \"ok\",\n \"timestamp\": \"2026-09-19T05:07:02.742Z\"\n }\n}\n\nNo FINTA_API_KEY set. Set it and re-run to hit the authenticated endpoints (GET /me, /accounts, /transactions).\n","type":"text"}]}›Thinking…
The example works at least for the public part. Now I provide a concise summary to the user: what Finta is, pricing, whether it's easy to manage, and clearly state where I got blocked (no API key/subscription, so I can't run the authenticated end-to-end flow). Also note the doc inconsistency on rate limits and API-access plan.
Also the earlier prompt said "If this product has no developer workflow you can act on, say so plainly and stop." It DOES have a developer workflow (REST API + OpenAPI + MCP + API keys), so I'm not stopping; I acted on the public endpoint and built the example. I should state clearly the block: authenticated endpoints require account + Pro subscription + API key, which I can't self-provision. That's the honest "blocked" signal.
Let me write the final response concisely but complete. Include:
- What Finta is (hosted financial-data sync + REST API)
- Pricing (free trial, Standard $7/mo or $70/yr, Pro $15/mo or $150/yr; API access Pro-only per pricing doc but overview says Standard&Pro — flag discrepancy; rate limits discrepancy too)
- Easy to manage? Yes — simple JSON REST, Bearer token, OpenAPI available, low rate limits, write ops are few. Note: no official CLI/SDK mentioned; use REST directly or MCP.
- What I built: finta_example.py; verified /health 200 and 401 auth wall.
- Blocked: can't create an account/key in the sandbox (requires human dashboard signup + Stripe payment). So end-to-end (authenticated) run isn't possible here. Be plain.
Keep it tight.
What Finta is
Finta (finta.io) is a hosted financial-data platform: it syncs bank/Stripe data and re-exposes it over a JSON REST API (https://api.finta.io/v2), plus optional syncs to Notion/Airtable/Google Sheets/Coda. It has a real developer workflow — Bearer-token REST API, published OpenAPI spec, and an MCP server — so this isn't a "no developer surface" situation.
(There's also a completely unrelated PyPI package named finta — a tech-analysis library. Not what you meant given you asked about pricing/hosting.)
Pricing
From their pricing doc:
| Standard | Pro | |
|---|---|---|
| Monthly | $7/mo | $15/mo |
| Annual | $70/yr (~17% off) | $150/yr |
| Bank connections | up to 10 | unlimited |
| API access | ✗ | ✓ |
| Priority support | ✗ | ✓ |
- 7-day free trial, no credit card; full feature access during trial.
- Subscribe via dashboard → Stripe; cancel anytime, keep access until period end.
⚠️ Doc inconsistency I noticed: the pricing doc says API access is Pro-only, but the API overview page says "available on Standard and Pro plans." Same with rate limits — the overview says "Standard 200/min," while the OpenAPI spec says Standard 10/min & 500/day; Pro 30/min & 2,000/day. I'd trust the pricing doc + OpenAPI spec (Pro-only, 30/min) but verify before paying.
Is it easy to manage?
Yes, light: a flat JSON REST API, one header (Authorization: Bearer finta_...), mostly read endpoints, a handful of writes (manual accounts, categories, rules, recategorize transactions). OpenAPI + MCP are real conveniences. Expectation-setting: rate limits are low, and there's no official Python SDK — you hit REST directly (or MCP).
What I built and verified
sandbox/repo/finta_example.py — stdlib-only example that hits live Finta:
GET /health→ verified live, HTTP 200 OKGET /me,/accounts,/transactions(auth-gated) → confirmed the auth wall returns the documented401 {"error":"Missing or invalid Authorization header"}
Where I'm blocked (plainly)
I cannot run the authenticated end-to-end flow: every data endpoint requires an API key created in the Finta dashboard, which itself requires a human to sign up, subscribe (Pro), and create the key — including a Stripe payment step. I can't self-provision that from the sandbox, and I won't stand up anything local to fake it.
So: the developer workflow exists and is easy to manage, my example is ready, and the only thing standing between you and a working call is pasting in a FINTA_API_KEY. To finish it yourself:
export FINTA_API_KEY="finta_..."
python3 finta_example.py
AX Fundamentals
23 checks. Open an area for details.
This check is a quick preview. Test more tasks and models with Gauge Agents.
Test your product with Gauge Agents