TradingView to Fyers Copier: Clear API v3 Setup in 8 Steps

If you chart on TradingView and trade at Fyers, the missing piece is the order. An alert fires, and someone still has to place it. TradingView to Fyers closes that gap with the Indian TvCopier. It is a Windows program on your own PC or VPS that receives each alert and sends the order through Fyers API v3.

It has to run on your machine. Since 1 April 2026, SEBI's retail algo framework lets a broker accept API orders only from a static IP registered to the client. Orders from a shared cloud server fail that test.

So you need a Fyers API app with your static IP registered, and its app id. You also need a fresh access token each morning, plus a Windows machine on that IP. Add a TradingView plan with webhook alerts, ideally port 80 open to that machine, and a TPcopier account for the licence. The token is the part to plan around, because at Fyers it ends at 6 AM every day.

Two things from Fyers, one of them every morning

In the software, open Accounts > + Connect a broker > Fyers (API v3). It has two boxes, and both are required:

  • App id, which looks like ABCDEF1234-100 and comes from your Fyers API dashboard. It does not change.
  • Access token, marked "expires every day at 6 AM - generate it each morning".

The 6 AM cut-off means a token you make the evening before is dead by the open. So make it after 6 AM on the day you trade. Your API app lives on the Fyers API site, and that is the place to check how Fyers issues the token.

The two values travel together on every call, joined into one header. That is why an account with only one of them shows "keys missing" and receives nothing. Test the connection answers "connected as" and your name. Once the token has lapsed, you see "Fyers refused the access token - it lasts one trading day, generate a new one". Similar words appear if the software cannot read the order book or positions.

How TradingView to Fyers delivers an alert

TradingView posts the alert straight to the software, with nothing in between. The software takes it on port 80, because TradingView only sends webhooks to port 80 or 443. If it cannot reach your PC, nothing arrives, as step 7 explains. The software places the order with Fyers from your static IP. The dashboard itself stays private on your PC.

Two safeguards sit on that path:

  • Only TradingView can trade through the URL. An order from any other address is refused, and the journal says where it came from. The URL is still a password, so don't screenshot it, and press Regenerate if it leaks.
  • Only JSON trades. The software has no AI to guess at words. A plain-text alert is refused, and the Signal Feed says why.

Signal Feed with sent, blocked and refused TradingView to Fyers alerts The Signal Feed: every alert with its result, and the reason on each one that did not trade (example).

The software's TradingView page opens with Listening for TradingView and the port it listens on. Further down, What has arrived counts the alerts received, how many became orders, how many it refused, and how long the last one took inside the app.

TradingView to Fyers, set up in 8 steps

Before the software

  1. Start the demo from the Indian copier page on tpcopier.com with Get the free demo, and sign up.

  2. Take the demo key and the Windows download. Both sit on the Indian TvCopier card in your TPcopier account. One key activates one computer.

On the PC, then TradingView

  1. Install on the static-IP machine and paste the key into the first screen.

TradingView to Fyers starts here: the activation screen of the Indian TvCopier Activation: the key box, the Activate button and this computer's name (example).

  1. Register the address. Copy it from the Dashboard's Static IP band into your Fyers API app.

  2. Add the Fyers account. Open Accounts, press + Connect a broker, pick Fyers (API v3) and fill in the app id and this morning's token. Save it and test the connection.

Fyers (API v3) account form in the program with app id and access token A new Fyers account: the app id and an access token that ends at 6 AM (example).

  1. Open port 80. On the software's TradingView page, press Allow port 80 in Windows Firewall, and Allow access if Windows asks about the network. At home, forward port 80 on your router to this PC. On a VPS, open it in the provider's firewall too.

  2. Read the checks on the same page: whether the software is listening on port 80, whether the firewall rule is there, and your public address. They run on your PC only. On a home Jio or Airtel line TradingView usually cannot reach the PC at all, because the address is shared, so use a Windows VPS with a static IP. Then copy the address under 1 The webhook URL and keep it private.

  3. Create the alert in TradingView. Tick Webhook URL under Notifications, paste that address, and add the JSON message. Then test the body under Try it before the market opens, as the last section explains.

Try it before the market opens reading an example alert, with nothing sent to Fyers Read it on an example alert: the notes and the parsed order, with nothing sent anywhere.

Fyers tickers you never type

Fyers names every instrument with its own ticker: an exchange prefix and a symbol. Cash shares also carry an -EQ ending, so RELIANCE is NSE:RELIANCE-EQ at Fyers. Your alert still just says RELIANCE.

The software guesses nothing here. Instead, it downloads Fyers' symbol master for six segments: NSE cash and F&O, BSE cash and F&O, MCX commodities and NSE currency. Then it finds the ticker there.

That master comes without a header row, so the software can only read its columns by position. For that reason it checks the shape of every download. If a column has moved, it refuses that segment with "the master's columns have moved - refusing to read it rather than resolve the wrong instrument". And if one segment failed to load, a later "Fyers has no ..." refusal ends with a note about it. That way you know the problem is the file, not your alert.

Here is an example alert, not a recommendation: the SENSEX 81000 call at a limit, with an expiry named.

{"action": "BUY", "symbol": "SENSEX", "strike": 81000, "option_type": "CE", "expiry": "2026-10-01", "lots": 1, "price": 185, "sl": 150, "source": "sensex-open"}

The date has to be one Fyers lists. If it is not, the refusal names the nearest dates that are. A date already past makes the software ignore it and use the nearest contract. Leave expiry out altogether and it takes the nearest one too.

What goes out to Fyers

Fyers speaks in numbers. Order type 1 is a limit, 2 a market order, 3 SL-M and 4 a stop-limit. A sell is -1, not 2. For TradingView to Fyers, the software handles that mapping, so an exit can never turn into an extra buy. It also reads each reply's own status field, because Fyers can answer HTTP 200 to an order it refused.

Product Intraday goes as INTRADAY, while Delivery / carry goes as CNC for shares and MARGIN for options. Validity is DAY or IOC. When Variety is After-market (AMO), the software sets Fyers' offline-order flag.

The software sends Fyers no protection band with a market order, so leave Convert market signals into protective limits on. With it on, an alert without a price goes as a LIMIT 0.5% through the last traded price. The software reads that price from Fyers' quotes, up to 50 symbols in one call. If it cannot get a price at that moment, it sends a market order instead.

Alerts the software refuses before Fyers sees them

Most bad alerts never reach the broker. The software stops these itself and writes the reason in the Signal Feed:

  • A strike off the index's step. "SENSEX strikes move in 100s and the alert says 81050." The software refuses it and never rounds it. A Pine script that sends the chart's close into strike looks exactly like this.
  • An index level where a premium belongs. On an option, a price or sl above 20,000 is an index level in the wrong field, so the software refuses it.
  • An unfilled placeholder. A misspelt placeholder arrives as plain text. Rather than let a limit quietly become a market order, the software refuses the alert.
  • Futures. "futures are not supported yet - this app trades options and NSE cash equity."
  • Half an option. For example, a strike without CE or PE, or the other way round.

Before you go live, paste any alert into Try it before the market opens on the software's TradingView page. Then press Read it to see how the software reads it, without sending anything.

FAQ

When does the Fyers access token expire?

At 6 AM every day, as the software's Accounts page says. So generate a new token each trading morning after 6 AM, and paste it into the Fyers account.

What is the Fyers app id and where do I find it?

It is your API app's id, in the form ABCDEF1234-100, and your Fyers API dashboard shows it. The software sends it together with the access token on every call.

Does my PC need an open port for TradingView to Fyers?

Yes, port 80. An alert has no other way to arrive, so a PC that TradingView cannot reach can't trade Fyers from alerts, however the rest is set up. A small Windows VPS avoids the problem.

Do I type Fyers ticker symbols in a TradingView to Fyers alert?

No. Write the plain name, such as NIFTY or RELIANCE, and TradingView's NSE:RELIANCE form works too. The software finds the Fyers ticker in the symbol master.

Can the same alert also trade Zerodha or Dhan?

Yes. Every account you switch on receives it with its own size. See TradingView to Zerodha and TradingView to Dhan.

Put one Fyers account on it first

Take the free demo and add a single Fyers account. Then let a few alerts arrive while that account is switched off, so the software reads and logs each one without an order. After that, allow one lot. The demo key becomes lifetime when you buy, and there are no refunds.

Sign up for TPcopier and see pricing. If your trades come from a channel, read Telegram to Fyers. The Indian brokers overview compares all ten brokers, and the Indian TvCopier setup guide shows the program from its first screen. The TradingView alerts to Indian brokers page explains how a strike is picked by premium when an alert names none.

Risk warning: trading options and shares carries a high risk of losing money and is not suitable for everyone. Nothing here is investment advice.