Troubleshooting
Use this guide to resolve common FYERS API issues before reaching out for support.
In this guide
| Issue | Go to |
|---|---|
| Orders are not getting placed | Order placement issues |
| Login or authentication is failing | Authentication issues |
| Unable to update the static IP | Static IP issues |
Request limit reached / 429 | Rate limit issues |
| API is slow or SDK method is not working | SDK issues |
| Invalid symbol or historical data unavailable | Symbol & historical data issues |
| WebSocket disconnects or no ticks received | WebSocket issues |
| API returned an error code | API Error Codes |
Start with these checks
Before going deeper, verify:
- Use the latest official FYERS SDK
- Make sure the access token is valid
- Read the complete API error code and message
- Refer to Appendix → API Error Codes
- Confirm the correct App ID is being used
- Verify the request parameters against the API Reference
- Check the applicable Plans & Rate Limits
Order placement issues
Orders are not getting placed
Check
- App ID ends with
200 - Static IP is whitelisted
- Request originates from the whitelisted IP
- Correct App ID is being used
Fix
Only App Type 200 supports order placement. Use the trading App ID and ensure orders originate from its whitelisted static IP.
Authentication issues
Login or authentication is failing
Check
- Access token is valid
- Correct App ID is being used
- Login endpoint is not being called repeatedly
Fix
- Generate a new token if the existing token has expired
- Reuse a valid token instead of logging in for every request
- Avoid authentication retry loops
Static IP issues
Unable to modify the static IP
Check
- When the IP was last modified
- Whether the IP is already mapped to another user
Fix
- IP can be modified only once in 7 days
- The same static IP cannot normally be mapped to multiple users
- Eligible family members can share a static IP through the applicable declaration process
Rate limit issues
Request limit reached
Check
- Repeated API calls
- Retry loops
- Multiple application instances
- REST polling for continuously changing data
Fix
- Reduce unnecessary calls
- Implement retry/backoff
- Use WebSockets for live market data
- Refer to Plans & Rate Limits
SDK issues
API is slow or an SDK method is not working
Check
- SDK version
- API/SDK version compatibility
Fix
- Upgrade to the latest official FYERS SDK
- Restart the application
- Ensure the implementation follows the current API documentation
Symbol & historical data issues
Invalid symbol or no data
Check
- Symbol in Symbol Master
- Exchange and segment
- Date range
- Resolution
- Contract expiry
Fix
- Use the latest Symbol Master
- Use the correct date range and resolution
- For expired F&O contracts, use the Expired F&O Data APIs
WebSocket issues
WebSocket disconnects or no ticks are received
Check
- Network stability
- Connection status
- Symbol subscription
- Duplicate subscriptions
- Subscription limits
Fix
- Use a stable network
- Enable supported reconnect handling
- Verify symbols are subscribed successfully
- Avoid subscribing repeatedly to the same symbols
API Error Codes
If an API returns an error, read both the error code and message before changing the request.
HTTP Status Codes
The HTTP status code on the response indicates the general outcome of the request. Read it together with the response body for the exact condition.
| Status Code | Meaning |
|---|---|
| 200 | Request was successful. |
| 400 | Bad request. The request is invalid, or certain other errors. |
| 401 | Authorization error. The user could not be authenticated. |
| 403 | Permission error. The user does not have the necessary permissions. |
| 429 | Rate limit exceeded. The user has been blocked for exceeding the rate limit. |
| 500 | Internal server error. |
Application Error Codes
The same error code may be used for more than one condition. Use the response message and API operation to identify the correct cause before retrying.
| Code | Description |
|---|---|
| -8 | The access token has expired. Generate a valid token before sending the request again. |
| -15 | An invalid access token was provided. Check the token used in the request. |
| -16 | The server could not authenticate the user token. Verify the authentication details and try again after correcting them. |
| -17 | The access token is invalid or has expired. Complete the required authentication flow and use a valid token. |
| -50 | One or more request parameters are invalid. Read the message field for details about the affected input. |
| -51 | The Order ID is invalid while fetching or modifying an order. Check the Order ID and the operation being performed. |
| -53 | The Position ID is invalid. Check the current positions and use the correct Position ID. |
| -99 | The order placement was rejected. Read the rejection message in the API response before taking another action. |
| -300 | The symbol is invalid. Verify it through Appendix → Symbol Master. For direct URLs, URL-encode symbols containing special characters; FYERS SDKs handle this automatically. |
| -352 | The App ID is invalid. Check the App ID configured for the request. |
| -352 | No position is available to exit. Read the response message and request context to identify which -352 condition applies. |
| -429 | The API rate limit was exceeded for the applicable second, minute or day limit. Stop repeated calls, wait for the limit window and then retry. |
| 400 | The multi-leg order request contains invalid input. Review the required fields and values for every leg. |
See the full reference at Appendix → API Error Codes.
Last updated on