Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question

migrated from stackoverflow.com Oct 9 '11 at 1:11

This question came from our site for professional and enthusiast programmers.

1  
Although I believe this is a good question, I don't know that it is on-topic at stackoverflow. –  Nate Oct 9 '11 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 '11 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 '11 at 20:50
add comment

5 Answers

up vote 1 down vote accepted

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.

share|improve this answer
add comment

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.

share|improve this answer
    
+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. –  FrustratedWithFormsDesigner Oct 9 '11 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 '11 at 5:44
add comment

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.

share|improve this answer
    
+1 for the opener. –  user16764 Oct 9 '11 at 20:49
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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