Plans and limits
Every call needs a Cycles IQ account. Signing up is free, with e-mail and password or with Google: in the app at
app.cyclesiq.com, or when you add the connector in Claude or ChatGPT. A new account starts with the 30-day trial and
then continues on the Free plan. The sign-up confirms your e-mail address with a code it mails you (with Google, no
code is needed). An API key can be created once the address is confirmed; the connector works from the first minute.
Every call with a key or a sign-in counts once on your account, whatever the tool or the route, through the REST API, the MCP and your code alike. Your plan sets how many calls you can make a minute, a day and a month. Nothing is charged for a call the API refuses.
The plans
| Plan | Who has it | Calls | Stored datasets | Live streams |
|---|---|---|---|---|
| 30-day trial | Every new account, for 30 days from sign-up | 300 a minute, 5,000 for the whole trial | 50, up to 50,000 bars each | 3 |
| Free | Every account after its trial | 20 a minute, 200 a day, 1,000 a month | 3, up to 5,000 bars each | none |
| FSC member | Members of the Foundation for the Study of Cycles who activate the API in the FSC app | 60 a minute, 500 a day, 2,000 a month | 3, up to 5,000 bars each | by the membership: 3 from the Analyst level, none for Basic |
| Pay as you go | A Cycles IQ account; booked on the API page of the app | 300 a minute, 20,000 a day, no monthly limit | 50, up to 50,000 bars each | 50 |
| Scale | Teams and integrations, by agreement | 1,500 a minute, 100,000 a day | 500, up to 100,000 bars each | 100 |
The 30-day trial, pay as you go and Scale include the PRO feature (the dominant-peak finder of the cycle scanner; the stability score is open to every plan since 8 October 2026). The daily limits of pay as you go and Scale are safety caps, raised on request. Pay as you go is priced by tokens: 1.75 EUR per 1,000 tokens, plus VAT where it applies. The cost calculator estimates your calls, tokens and cost for a month.
Booking and billing of pay as you go
You book pay as you go on the API page of the app (sign in at app.cyclesiq.com, Account → API, "Book Pay as you
go"). The checkout is Stripe's; the plan is sold through Link, Stripe's merchant-of-record service, so the invoice,
the VAT of your country and the receipt ("Sold through Link" on your card statement) come from Link, and the plan is
active on your account within a minute. The tokens of each day are reported to Stripe, and the month is billed in
arrears to the payment method on file; there is no base fee and no minimum. Tokens are billed exactly, not in blocks:
52 tokens are 9 cents. Payment method, invoices and cancellation are in Stripe's
customer portal, reached from the same page ("Manage subscription"); a cancellation takes effect at the end of the
billing month. Questions about the service go to cyclesiq@marketzeitgeist.com, questions about a payment to
Link support.
Your spending limit on pay as you go
Pay as you go has a monthly spending limit you set yourself on the API page of the app, 50 EUR a month unless you change
it. Once the tokens of the month reach it, every call with a key or a connector (stream updates included) is refused
with 429 and the sentence "Your spending limit for this month is reached. Raise it on the API page, or wait until the
1st."; the app's own pages go on. From 80 % every answer carries the header X-CyclesIQ-Spending with the share used,
and my_limits and GET /api/me/limits show the limit, what is used and when the month starts again under spending.
A refused call costs nothing; a change of the limit takes effect within a minute.
The API names the plans by tier ids: Tier:Trial (30-day trial), Tier:Registered (Free), Tier:Guest (FSC member),
Tier:Usage (pay as you go) and Tier:Scale (Scale). my_limits and GET /api/me/limits show the plan name and the
tier id.
The 30-day trial
Every new account runs on the trial for 30 days from sign-up, whether you sign up in the app or from an AI assistant:
300 calls a minute and 5,000 calls for the whole trial, the PRO features, stored datasets and live streams. my_limits
shows when your trial ends. The trial ends after 30 days or when its 5,000 calls are used up, whichever comes first;
then the account continues on the Free plan at once. If you need more time or calls for an evaluation, ask.
What counts
Every call counts once on your account: the analyses, the market search, the datasets and the uploads, through the REST
API, the MCP and your code alike. Outside the count: stream updates (they have their own limits, below), your limits
and usage (GET /api/me/*) and the documentation. The month is the calendar month (UTC). Calls in the trial count
toward the trial only, so your first Free month starts clean.
Tokens: what a call is worth
Every successful call also has a value in tokens: the rating of its route plus one token for every 1,000 data points it works on (the values you send, or the bars of a dataset the API loads for it), rounded up, so a standard analysis of up to 1,000 bars adds one token. The ratings go from 1 for a read to 20 for the analysis of a market by its id (30 for a chart picture); they may change until the prices are published. A cycle scan of 1,200 values is 3 + 2 = 5 tokens; a consensus over a stored dataset of 50,000 bars is 10 + 50 = 60. Ten live stream updates are one token, whatever bars they carry: a stream at its full budget of 300 updates a day is about 900 tokens a month.
Every successful REST answer names the tokens of its call in the header X-CyclesIQ-Tokens (your limits and usage
under /api/me/ are not counted and carry none), and my_limits and GET /api/me/limits add them up: today, this
month, and the month by app, keys and MCP. Your plan limits calls, not tokens: the tokens are information on every plan and the bill
of pay as you go, which is billed by tokens: those of your calls by API key and MCP, stream updates included.
The app's own calls are never billed. A call answered with an error status has no tokens.
Stored datasets, streams and uploads
| 30-day trial | Free | FSC member | Pay as you go | Scale | |
|---|---|---|---|---|---|
| Datasets you can store | 50, up to 50,000 bars each | 3, up to 5,000 bars each | 3, up to 5,000 bars each | 50, up to 50,000 bars each | 500, up to 100,000 bars each |
| Live streams | 3 | none | by the membership | 50 | 100 |
| Stream updates a day | 300 per stream | – | 300 per stream | 300 per stream | 300 per stream |
Uploads (/api/upload/*) |
yes | no | by the membership | yes | yes |
Stream updates never count toward your calls; on Pay as you go, ten updates are one token.
The raw price bars of market data (every route under /api/data/ except the symbol search) are not part of any plan:
they need the feature MarketDataAccess, granted on request. The search and the analysis of markets by id are open in
every plan, through the REST API. The MCP server takes no market data. See Market data by id.
How the stream limits work
Two limits apply to live streams, both per account: all your keys share them.
- The number of streams is the plan's number in the table above. Only a new stream beyond it is refused (
400, with the reason; the stream is not created). Streams you already have keep running, also when you have more than the number, and sending a stream's history again is never refused. - The updates a day are 300 per allowed stream, for all your streams together: 900 on a plan with three streams, 15,000
with pay as you go. An update is one call of
POST https://streams.cyclesiq.com/api/Stream/SubmitStreamData(the stream host; the other hosts of the API still accept pushes for now), whatever it carries. The count runs over 24 hours from the first update of the period.
In practice, 300 updates a day are one update every five minutes per stream, around the clock. Three streams of five-minute bars fit into the FSC member plan; one stream of one-minute bars around the clock needs 1,440 updates a day and does not.
When the updates are used up, each further update answers 429 with Retry-After, the seconds until the period ends.
Nothing is written then, so live charts stand still until the period ends; the data stored before is not affected. What you
can do:
- send one update per closed bar and leave out the updates in between;
- stream fewer symbols;
- or ask for pay as you go: 50 streams and 15,000 updates a day.
Checking your limits
- MCP: ask for your limits; the assistant calls
my_limits. - REST:
GET https://api.cyclesiq.com/api/me/limitswith your key, andGET /api/me/usagefor your usage.
The answer names your plan (plan) and tier (tier), its limits a minute, a day and for the month or the trial with
what you used and when they reset, the calls of every endpoint group today and this month with their tokens, whether
market data is included in your credential, and your trial with its end date.
When you reach a limit
- 429 with
Retry-After: the limit of the minute or of the day. Wait the seconds the header names; retrying at once does not help. - 429 for an allowance: the calls of the month or of the trial are used up. The answer names the plan, when it resets and the way to more.
- 429 on
SubmitStreamData: the stream updates of the 24 hours are used up;Retry-Aftersays when they resume. See How the stream limits work. - 403: the call is not open to you: not part of your plan (live streams on Free, for example), the feature for raw bars, or another user's dataset. Waiting does not help; the message says what does. See Answers and errors.
Answers of Cycles IQ are measurements and projections of cycles, not investment advice. Questions: support.