If you find out a way to interact with a web service API that is not publicly documented as available, and can emulate it within an application you develop, is it illegal to do so? Furthermore is it illegal to charge for a product that you build to interact with these services (maybe all that's needed is a reference to the 3rd party)?

An example would be, lets say, Google didn't advertise how to do a search in your program, but you found out how and made it so people could do the search differently than how Google presents it, can you build against the service you discovered and sell a version of it?

  • 1
    Although I believe this is a good question, I don't know that it is on-topic at stackoverflow.
    – Nate
    Oct 9, 2011 at 1:05
  • Ultimately, if you depend on an API, and the API owners don't like what you're doing for any reason, they can pull the plug on your app. IANAL, but you are also in somewhat sketchy legal territory. Why not just ask the API owners if they're OK with what you're doing?
    – Nick ODell
    Oct 9, 2011 at 1:08
  • 1
    See Raymond Chen's blog entry, When programs grovel into undocumented structures for some vivid examples of what could go wrong if you do this.
    – user16764
    Oct 9, 2011 at 20:50

5 Answers 5


No one answer fits all.

IANAL, but, I would suggest:

If you find out by reverse engineering/decompiling a program, it could be illegal based on copyright.

If you find out by proxy/intercepting or just knowing of it's existence, it would be legal as you have not actually done anything to their service or products... but, it could still be morally a grey area.

In any case, if you were to use something that was undocumented and you really did "find" it legally, you could always document it for the good of others.

If you charge or similar, it doesn't really change the facts above - however - you will be responsible to your customers and there is a high chance that they will close it at any time without letting you know.

If it was me and I found something that worked, I would ask the people and try to negotiate with them.


It's dangerous. If it's not publicly documented, then they won't have any compunction against breaking backward compatibility, or just breaking it entirely. It may be relying on undocumented web apis that might disappear tomorrow.

  • +1 Relying on undocumented features can cause many things to break when those features are changed, and you will have no recourse against the party that develops such features, since they are not documented which usually means 0 support. Oct 9, 2011 at 2:27
  • it's also dangerous because you make your software rely on someone else who doesn't even know about you or ever agreed to support you. What if IT of this third party company discovers abnormal amount of traffic coming from your systems and they modify their API to require a security token, which you will obviously not have. Now what do you do?
    – DXM
    Oct 9, 2011 at 5:44

If it is not properly documented, it is not an API. I would recommend not using it as it may change whenever its writer want.

The better would be to contact the owner of this web service and ask him if he wants to make it public.


If it isn't documented it most probably wasn't intended for external use, certainly not by anybody else. It may be a pre-release, it may be experimental, it may simply be something meant for internal use.

I would hesitate long and hard before basing anything on such a service for my own personal use. I would hesitate even longer en harder before basing anything on it and selling that.

The service can be retracted or changed at any moment.

If you just use it for your own personal benefit, that would be a nuisance but nothing more.

If you have sold products based on that service, you have entered into a contract (explicit or implied) with your own clients. When the service is retracted or changed you are in a pickle as you can no longer deliver your side of the deal. Apart from refund claims, you may then have to deal with all kinds of liability claims. That would of course depend on your terms of service / license agreement and limitations of warranty. But keep in mind that exclusion of liability is not allowed everywhere in this world.

In short: don't use the service without asking those that developed the service and entering into a contract with them for the continued delivery of that service.


If you do this, you're giving that site operator control over some behavior of your app. If they're not happy with you doing it, they might change the code to return results you wouldn't want to expose your customers to, depending on how they're using it themselves. This isn't quite the same, but similar enough to serve as a warning: I once discovered an eBay seller hotlinking some of my old photos, and boy was his face red when he pulled up his auctions one day and found hard-core porn on them.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.