The Ups and Downs of APIs

First let me apologize in advance for the following (rather long) rant. I don't like to complain in public, but being ignored or blown off tends to make me angry. Some people air their issues on Twitter or Facebook, I have this blog.

The SchoolFinder Web API Service contains

  • Free school data on more than 130,000 public and private K-12 schools across the 50 U.S. states.
  • Comprehensive information on a school's academic performance and test scores, student demographics, teacher statistics and parent reviews.

This looks like a great API — and a great use for Microsoft Excel. I could see charts and dashboards and really useful datasets coming out of this. Everyone from teachers to students to parents to school administrators could benefit from a productivity tool that uses this API.

So on Sunday, November 28th I applied. I immediately received an email with the API key. Mint!

Then I get an email from them on Monday that says:

Thanks for reaching out to us and requesting an API Key. Our API is intended for use in web based applications in order so that we can maintain a link back model for our API. The intended use you described below did not seem like a web based application, in which case, we could allow the use of the API. If I have misunderstood please let me know.

Come again?

My API usage is being rejected because it doesn't fit the company's idea of the way their API should be used?

What is a "link back model"? Sounds like corporate-speak from a company who can't imagine any other use for their API other than the narrow-minded way they've "intended" it. In fact, they want two — count 'em, two — links on every webpage that displays API results.

I know I shouldn't be this upset, and like Dick Moffatt, I'm upset at how much this is bothering me.

This is what I wrote back later that day:

Microsoft Excel is not a web-based application. Did you mean "in which case, we could not allow the use of the API" ?

I'm not sure what you mean by "link back model" – do you mean a link to your website? If you need a link to your site, I usually write an article about the API on my blog. That usually includes a link to the API docs, along with the logo (if you'll allow it).

If you don't want me to use the API, I'll understand, but I think there's a huge need for this type of tool in the Microsoft Office market. It will make the data more accessible to more people. The API key will be bundled in a VB6 DLL, so it won't be exposed to the end user, and you'll still be able to track usage by IP address.

At this point I'm in disbelief, because I'm not used to so much pushback.

Forget it — I'm not doing the VB6 API key thing any more. If I do get access, I'm doing some minimal sample code and that's it. Mind you, I don't even have to do any of this.

I received an email requesting a phone call — that's right, a phone call — to explain what I intended to do with the API, because my request was "unusual". I am extremely curious to know if anyone out there reading this has ever had to go through so many hoops over an API.

And come last Tuesday, I called them. I'm incensed at the indignity, but I calmly explain what I was trying to do with the API. By now I have no intention of using it any longer, but feel the need to explain myself anyway. I even had to explain that Excel actually has a VB editor in the backend for writing programming code — which the person I spoke to didn't appear to know. This is the person in charge of approving developers.

Look, I'm not familiar with every single development environment. But, as a developer, if someone told me about an IDE in another application I wouldn't sound so surprised about it.

They told me that they want web-based applications because it provides them with backlinks, which they require as part of their terms. I was told it's how they generate awareness for the website.

I'm appalled by how superficial and short-sighted that sounds. It's tunnel vision marketing. Why is Education.com micro-managing its API to the point where it is dictating which platforms it can be consumed on, most likely to suit some corporate goal?

Since they didn't understand my application, they won't understand that the links I put in my sample code, blog post and in the application itself are just as good as website links. People are going to visit education.com as a result of the sample code. But (most of) those links don't pass PageRank, and the bean counters are in charge, so it's hopeless to try and explain that.

Some overpaid SEO consultant (or corporate attorney, either way it's definitely a non-tech person) must have gotten a hold of them and scared them into thinking that horrible, evil people are going to steal their data and ruin their search engine position unless they overmanage, I mean "control" their API, so any use other than the web will cause them to disappear from the SERPs. Just read their API terms of use; an inordinate amount of space is used to specify exactly how to attribute their website.

Conclusion

I don't get invited to speak at API conferences, my face isn't on the cover of any developer magazines, and I won't be profiled on 60 Minutes, but I've written my fair share of API-consuming code and I know what I'm doing. I'm certainly smart enough to understand that there is more than one way to use an API, and that there's something other than "the cloud" to program with. Apparently, as I've learned the hard way, not everyone else is.

I am asking anyone reading this to help me out with a reality check here:

Am I just being a big baby because I finally got rejected and can't handle it?
Have I been spoiled by companies that don't micro-manage how their APIs are used?
Is posting these emails wrong?
Anything else I forgot?

About JP

I'm just an average guy who writes VBA code for a living. This is my personal blog. Excel and Outlook are my thing, with a sprinkle of Access and Word here and there. Follow this space to learn more about VBA. Keep Reading »


Related Articles:


Share This Article:

Share and bookmark this articledelicious buttonfacebook buttonlinkedin buttonstumbleupon buttontwitter button

comment bubble 6 Comment(s) on The Ups and Downs of APIs:

  1. Sebastien Labonne writes:

    They got there backlink now, without giving you the key :P

    Maybe that's the strategy.

    Sebastien

    • Sort of, it's just a link to their API. I don't want people to think I'm totally biased. I'm in the mood for conspiracy theories, but the idea that they're doing it on purpose is too much for me.

  2. jeremy huval writes:

    I'm on your side on this one. This situation was caused by ignorance on their end, not yours. Keep fighting the good fight.

  3. It's understandable for someone publishing a web service to want to make money out of it or limit unpaid server usage (or having someone building a profitable business piggy-backing off your free service), but wow – some people just don't get it… Best way to get your name out is to have as many users as possible, encourage them to find creative uses for your product and establish it – and maybe put a limit on the API usage if this is a worry.
    I think we all have been spoiled a bit in the past years, but that's now the norm. More and more information is available to work with for free, and I don't think that trend will revert any time soon.
    Anyways, take a deep breath and move on. If anything, I think it's interesting that you tried to follow up and figure out what their motivation was. And as Sebastien says, now they got their back link – maybe they would have been better off with your initial plan :)
    Mathias

  4. chrisham writes:

    JP, since you are great with building some fantastic procedures from API, this link may be of interest to you.

    http://readitlaterlist.com/api/

    Readitlater.com provides a bookmarklet that enables you to come back and read articles at some other time.

This article is closed to any future comments.
Peltier Tech Charting Utilities for Excel