tedchou12 / webull

Unofficial APIs for Webull.
MIT License
597 stars 183 forks source link

Share Webull Rest API Documentation #175

Closed tennyspock closed 3 years ago

tennyspock commented 3 years ago

It will be nice if you can share the raw Webull REST API documentations so that we can build our own Webull API client in different languages.

zenhorace commented 3 years ago

:sweat_smile: that would be great. but remember that webull is closed source. This is not an official API. Every API call in this library is the result of someone just looking at the network calls that webull app/frontend makes to their servers and mimicking the behavior. Webull can, and does change their APIs as they see fit (and we've seen that happen a lot recently).

I would like to know what language you're thinking of building a client for @nerka-kurt.

tedchou12 commented 3 years ago

Thanks for the comment. As hfacey mentioned. If we start maintaining the REST API, we would need to maintain two separate locations. It would be double the work. In addition, you will need to update your client accordingly after we update the documents here, the lead time is unthinkable.

If you really want, you can setup this package and making the outputs from your client to the inputs of this package, if this package updates, just update the package on your machine without much changes to your client.

tennyspock commented 3 years ago

@tedchou12 @hfacey Your comments make sense, but if you like to make this repo more powerful, I'd suggest to take a look at OpenAPI spec (such as Swagger). You write API specs in yaml, and they have tools to generate code in different languages, so both API spec and code can be maintained in a single place.

Just a recommendation, but this repo is very helpful for me to develop my own Webull API Client in Java.

zenhorace commented 3 years ago

No, I get it. I wrote my own version for GoLang and I thought of writing a swagger spec as well to make it easy on myself and just autogenerate the client. But going thru the webull API was a mess. Their APIs are really muddled. They use different domains (and subdomains) for different APIs in a way that doesn't make sense to me, APIs require very different headers (ranging from no auth needed, to auth, to auth + security token), and sometimes the same API returns different results on success. It's hard to write a swagger spec when you're reverse engineering an API. I became convinced that anything I came up being broken so I just wrote the Go client myself. But please, if you have time, please try it - it would help a lot.

tennyspock commented 3 years ago

Thanks for your clarification.

friksa commented 3 years ago

I would love to write an Angular app that provides advanced features for your WeBull account... so it would be nice if there was a rest api that can be used.

TwilightTime7734 commented 3 years ago

@nerkka I am also trying to write the API's for Java, specifically for an Android apk I wrote, I am currently using TD Ameritrade's API's which took me awhile to figure out. TDA is killing me with their "MANDATORY REORGANIZATION FEE" fees and I would really love to move over to Webull. Any help or insite you could provide me would be appreciated. If I get it figured and could help you I will for sure. Thanks

aggelako commented 1 year ago

Is there any documentation for the login API? Also did anyone manage to get it working with Java? Im trying to "translate" but the requests wont work and i cant really debug what's wrong with the request with no Docs