Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What API do you wish you had while building your product?
157 points by afinemonkey on July 9, 2017 | hide | past | web | favorite | 141 comments

Product information. Things like "The mainboard named XY from producer ABC has the manufacturer sku 1234567, the EAN-13 00123... and the UPC 01234...". Ideally add to that the custom specs, like "it has that many usb slots and this socket" etc.

But I think I miss part of the picture here, there is probably a channel transmitting structured information like this from manufacturers to vendors, I just never found it.

My startup Semantics3 works on this problem - https://semantics3.com/

We have a standardized taxonomy and ontology to which we map all our products to. It's a garbage in garbage out problem but as long as the product has the information in some sort of semi-structured or unstructured form, we typically can infer attributes and standardize them based on their ontology (i.e. They have 4 USB ports)

Hey, that did not work out at all. So, like said in the other comment, there are no pricing information I could find. Then you say "14 day free demo", but I got an email saying the free trial ended two days after registering. The UI says "add a credit card and let us know" when checking on how to pay/prolongue the trial, but does not actually show the price. I asked for pricing via your chat window thing, and got no response.

I certainly won't add a credit card to a service that does nor show me pricing information.

Guys, I get that the enterprise market is comfortable and the usual target for this kind of thing, but if you don't want to bother with startups/developers, why do you market to them on your website and by answering here? You are completely unuseable like that. Hiding pricing information to sell overpriced services to big enterprices that just don't care is completely unacceptable for everyone else.

Shoot. My apologies about any confusion on the sign up process. I have reached out to you on email.

Sounds great. But you - like the other sites in that space - have no pricing information online, not even after registering and trying to look how it would go on after the free trial. If I can't calculate what it would cost, then I can't use it.

A lot of retailers misuse these SKUs and UPCs. there are some that have a many to many relationships. Its horrendous.

You can checkout Open Food Facts though the amount of data is sparse.

Technopedia (a BDNA product) does exactly this, but might be expensive for a startup.


Disclaimer: I used to work for BDNA, and on this product, but have since left the company.

There are no prices listed -> they are targeting big enterprises, right?

So, it's an enterprisey company, for sure, but for just Technopedia API access, I think that the rates are fairly approachable -- in the order of a couple hundred bucks a month maybe.

That said, I no longer work there, and companies often tinker with prices, and to boot, they were reengineering the API that I originally POCed for the company, so it could be substantially cheaper now (or substantially more expensive -- but the goal was to make it more accessible, so I'd guess cheaper.)

If you're actually interested in giving it a spin, shoot me an email, and I can probably put you in touch with someone willing to let you do a test-drive. My email's in my profile.

Icecat (:http://www.icecat.biz ) seems to come close ?

Yes, very. Structured specs, and the API docs speak about an EAN/UPC/JAN field. But their free XML service, whatever it entails, seems to be defunct (asking for http auth without having provided those credentials), and it is a "ask us for pricing" service.

An API for handling image processing/uploading to S3:

Use 1: Send a high-res image in any format (like, say, tiff), the original, a web-optimal jpg at full resolution, and any sizes that might be needed in various contexts (thumbnail, inline display at any screen density) are put into the right place in my S3 bucket.

Use 2: Using ids or original file names, point the API to an image or array of images, uploaded via Use 1, and give it a set of dimensions/conditions, and have it return links to the correct images for me.

https://www.imgix.com/ has worked fine for us, it's essentially a proxy for an S3 bucket and you can parameterize image requests for scaling, dpi etc

We've had an excellent experience with http://cloudinary.com/ for pretty much what you describe.

as a consultant, I picked up cloudinary for a client, promised "75,000 Total Images & Videos" then a team of four people used the free data shortly, they contact us saying to either pay $44 per month or shutdown, why? we are over free bandwidth...

relocated a developer to spent some hours writing a restful services, now paying ~$0.030 per GB

> why? we are over free bandwidth...

I don't have any experience with cloudinary, but to be fair, their pricing table mentions each plan's limitations pretty clearly. Is it really their fault that you underestimated the customer's requirements?

Sounds like https://transloadit.com could've served you well there.

https://uploadcare.com/ is great for image processing and allows you to specify your own storage option as well, including S3. Give them a look!

Yeah, dealing with images are usually the worst.

Until you're unlucky enough to have to deal with video.

https://pixlab.io/#/cmdls is shipped with a lot of media processing API endpoints such as blur, scale, grayscale, and so on plus being an S3 proxy.

Thank you all! Will investigate! Maybe we need an api for finding apis??

Reddit/HN like forum as an API. I want a forum for my site, using my own templates and integrated into my app, but without having to code the forum myself. What buttercms does for blogs, but for forums.

Discourse has an API: http://docs.discourse.org/

Would you really describe Discourse as "Reddit/HN like" though?

I second that, it might exist, but its not easy to find.

A webhook or something that would tell me when a phone number changes owner.

I.e.: when we bill someone weekly for something and then the phone number changes owner we want to stop immediately.

Same if you send sms-es that you don’t want delivered to anyone but the intended recipient.

I can understand the positive uses for such an API. For the uses you mentioned it would be great.

However, I hope nothing like that is ever made! It would get abused to no end. I've personally changed number multiple times for privacy reasons.

I see your point but as long as the

1. You only get notifications for numbers you sign up to watch

2. The webhook only notifies me that <number> will be transferred <at> (using some data format)

then it shouldn't be a problem, should it?

I think it would be ok as long as it didn't tell you what the person's new number is or who now owns <number> if it gets reassigned.

Ok, then we agree :-)

We just wanted to know so that we wouldn't charge the new owner for things the old owner ordered etc.

Let me programmatically schedule a task to run at a specific time, just once. E.g. if my user tells me to remind them about something in a day, I want to schedule a task to do that exactly 24 hours from now.

I'm sure this exists already but it's hard to find because searching usually points me to a cronjob service. But what I'm looking for is distinct from a that. I don't want to run something every minute or hour or checking if there's any work to do. I just want a given task to run as a pre-determined time, scaled to any arbitrary number of tasks.

The cron alternative that does something only once is 'at'.

The modern at alternative is:

systemd-run --user --on-calendar=23:20 notify-send Example

Or relative with --on-active=60. And you automatically get the normal systemd tooling, e.g. systemctl list-timers.

well this works fine for a single host. but if you deal with a cluster or inside a cloud you better use kubernetes for that.

I am building a set of Nodejs ipy notebooks to do this kind of stuff: https://github.com/megamindbrian/jupytangular

Eventually I want to wrap it in an Angular interface.

What exactly do you mean by a "task". Just remind you by sending you an email? or actually running a command on your computer?

I think Zapier and other similar services can do this sort of thing?


I've heard good things about Autohotkey, but every time I try to do even the simplest of tasks it becomes a hassle. Like even just clicking on a specific point on your screen you have to know the exact coordinates of the place you want clicked. It seems like it'd be very easy just to record where you want to click.

When I'm working on tasks like that I like to add a hotkey that just puts the mouse's location on a tooltip for me. Sometimes you can just Tab to whatever you're trying to click, too, which is robust to window position.

An API where I could point end user video uploads to and have them processed, transcoded and playable on all platforms. One that also works at the RTMP/WebRTC layer (i.e. not just an all-in-one JS library with it's own idea of a 'good UI') and doesn't require me to do an API call first to set up the stream for the user (i.e. encode 'upload rights' using expiring HMAC-signed blobs including restrictions such as maximum length and/or file-size to prevent people having me transcode movies for them for free.)

Not sure if it quite fits the bill, but if your end user video uploads are stored on S3 or similar then zencoder does most of what you are looking for.

The hard part is the ingestion services; which aren't as easy to set up as they seem since a proper one is essentially a reverse CDN (content ingestion network if you'd like ;-)

AWS has it's own internal one too...


I wanted machine learning-based app configuration. So I built it and spun it out as a separate product: https://improve.ai/

I think this is a really cool idea, but I feel like it could be described in a better way.

'Machine learning-based app configuration' is very techie and vague and could mean a LOT of different things in a number of realms. What about something more specific and benefit-focused, like: 'AI that automatically improves your site's design'? To me something like that communicates what the product is more clearly, assuming I understand it correctly of course.

Thanks for the feedback. Working to find the best language has been a hard slog. It's actually not for improving a web site's design but is targeted specifically at mobile apps. I'm using the "configuration" language now so that developers maybe get an idea of how it integrates.

Awesome! I was looking for exactly a service like this (was almost going to build it myself) so will definitely try it out!

Cool. I would love any feedback! In the next couple of weeks I'll be adding a YAML format with the entire configuration in one file. It'll look something like this:

        - buy now
        - free trial!
        property: os
            - ios
            - android
The response would look like:

      ios:  free trial!
      android: buy now
Using the "by" statement you'll be able to segment the configuration by any other property.

ok so, for lack of value, I deleted my previous response to your post: "wow this is super awesome- wish I had a use case for it!"

but now that improve.ai ads are starting to pop up in my Facebook feed, thought I could provide some value letting you know about that mistarget. XD

How could anyone have possibly targeted you on Facebook from your comments here? I am genuinely curious. I checked and saw HN doesn't load any Facebook libraries, and I could find no identifiable info about you from your HN profile.

i visited improve.ai- presumably some cookie there is catching me.

that's not to say I haven't had some super weird "how do they know..." moments with Facebook ads lately...

Sometime back I wished I had a light weight CMS that can serve your content and allow you to program sections of your content so that you can make it more dynamic. For example, I can have something like this as the content:

The sum of @Var1 and @Var2 is #Sum

and then we can program #Sum (we call this an expression) to return the sum of @Var1 and @Var2. Once I pass the values for the variables @Var1 and @Var2 to API, let's say 1 and 2 correspondingly. Then the api would return you the content as:

The sum of 1 and 2 is 3

I couldn't find something that could help me with this so I build one. You can visit https://www.dialoguewise.com/ in case you have a similar requirement. More on expressions here: https://docs.dialoguewise.com/expressions/

Not exactly this, but https://sheetsu.com is a lightweight CMS from Google Spreadsheets.

A generic communication API (this might exist). When I want to communicate with my customer, it handles how they receive the message - whether that's SMS, Email, IM, slack, etc.

Not quite what you're asking for, but here is a service that provides the opposite side of that - all customer messages come into a single queue on your side and can then be processed by customer service and/or answered by a bot https://hubtype.com/

Front https://frontapp.com/ might be what youre looking for. If you want to do the plumbing yourself, Smooch is more at the API level.

An API that returns top 100 relevant web results via Javascript (aka the google ajax api which sadly they discontinued).

DuckDuckGo and Yandex have one

Subscription billing API that deals with reminders, renewals, e-mails/cancellations, etc. Everything related to that. All existing solutions don't work well if revenue per user is a "measley" 2 USD per month.

So a "Low cost" billing API, everyone's dream!

"Low cost" could be 5% of charges. Use stripe under the hood, so you make 2.1%. Not too bad for a stripe wrapper.

Stripe's pricing is 2.9% + 30¢, so the fee for a $2 payment would be 36¢, effectively 18%.

We're paying the 18% already for our $2 transaction... Another 5% on that sounds doable.

This is definitely one of those problems that while I was implementing it every day I would think "Why the hell do I have to do this myself"

Try ChargeBee? Solves a lot of subscription-related problems. It's a product and not API.

What would be an acceptable percentage to pay? Are we talking 10% or 2%?

I need an accurate way to count words on a variety of documents, with and without renderable text. Could be an image, pdf, docx, etc. The renderable text isn't an issue, but the non has been for me. I've tried several OCR products and none have worked well as we often have something like an image of a hand written document or a low quality scan of an old document. Maybe something with computer vision instead of OCR is the right solution though as I don't need to know what the text says, I just need a count of the words or characters for languages that use symbols.

Bret Victor's The Future of Programming has intriguing ideas on APIs that are tangentially related to this topic.


Video Games.

There are a few, but none provide some important information or have a reliable, complete data set. In particular, box art, UPC codes. From my research the Giant Bomb and Moby Games API's seem to be the most complete, but neither have the UPC. The only place I can find that is another API which is rather lacking in completeness and data.

Easy way to get geo from ip. I hate a lot of the options: downloading binarys or using google's that just regulates you.

https://ipinfo.io works well. Alternatively, CloudFlare also works well if you just need the country code, which it can attach as an HTTP header to each request.

Easiest solution is to put Cloudflare in front of your site for free and they'll pass in the geo data in the request header. Agreed that playing with binaries that you have to periodically download is horrible.

We are using the geo lookup api fram maxmind, with success. Gets quite expensive though, if you are not careful

MaxMind works great for us.

I used http://ip-api.com/json, the precision varies but at least the country level is fine. From the limited tests I did I was in the 5 km radios range.

There was a solution for this on HN not a week ago..

Here it is: https://ipinfo.io

These free databases are really inaccurate in many cases compared to e.g. Maxmind. E.g. this thinks my IP address is 100 km away near the German border, but Maxmind's commercial DB puts me a 7 minute walk away in the center of Amsterdam.

They're better than nothing, but be careful when relying on them for anything you need accurate Geo-IP info for.

I also don't recommend free solution for serious business. This can be critical for E-Commerce which uses GEO-Locking.

For customers that live on the borders it is very important that correct country is selected.

A cost effective API into whois data that doesn't come across as sketchy or fragile.

I worked on a project for one of the big registars and even they didn't have a proper whois api!

Most use cases of APIs into whois data are sketchy (typically email spam).

Not an API, but perhaps a good basis for one: https://github.com/secynic/ipwhois

Whois data itself is also somewhat suspect in general. It's best effort, not required to be correct in any way.

Check out http://whoapi.com

Point of Sale integration API. This exists for Restaurant POS systems: http://omnivore.io/ but I want one for all POS systems.

A real estate API for active/sold residential and commercial listings.

This one would be pretty amazing and we'd pay a lot for it. Unfortunately, beyond the mapping/sanitization, it's an extremely difficult data licensing problem and so we still pay a lot to make an internal residential version we can't vend.

1. A process engine that can execute a process given as an EPC (ideally with an embeddable gui editor). The app notifies the API of event completions and the API allows you to query the current state of the process.

2. An embeddable survey tool like SurveyGizmo, but completely whitelabelable, including the survey editor

3. An API for benchmark scores for iOS and Android devices (give me all devices that are as fast or faster than a Samsung Galaxy S6)

4. An embeddable private commenting tool (like Disqus, but for the back-office parts of the website)

What does EPC stand for?

Event-driven process chain[1]. In fact, any executable process modelling language would do.

[1] https://en.m.wikipedia.org/wiki/Event-driven_process_chain

A postgres API to specify query plans directly, bypassing the planner. I usually know exactly what algorithm makes the most sense, and it's not uncommon for the planner to choose something considerably worse, forcing me to break queries up, write them in strange ways, or disable strategies.

An API providing access to coupons from major retailers in a machine readable format.

Edit: Great question by the way!

Can you tell me more about how you would've integrated the API? I think I could've helped out.

The issue wouldn't have been implementation - it was sourcing the coupons themselves. You'd have to sign agreements with multiple vendors and force them to use your system instead of their own.

Natural Language API with a well-defined ontology

Have you checked out Google's Natural Language API?


A reverse pastebin, where you give it a pastebin URL and it returns the plaintext.

Hey! I just made https://reversepaste.com/ for you :)

Can't you use the /raw/ URL for that? E.g. https://pastebin.com/raw/AC3FGHBX

Works for pastebin.com, but not dpaste.com, sprunge.us, ix.io, fpaste.org, ideone.com, paste.fedoraproject.org, hastebin.com, termbin.com, paste.debian.net, gist.github.com, bpaste.net, lpaste.net, pastee.com, irccloud.com, codepad.org or susepaste.org.

I currently have ~40 lines of regex for this, plus some custom logic for a few that don't have raw URLs at all. A service would be very convenient.

Some would say you're half way to building what you want... Launch and sell!

what in the world do you need this for?

"Guys - we don't need to pay for S3 when we can just use pastebin et al. - I'll get someone on HN to build the reverse service."

I wish AWS autoscaling groups had a "recycle every machine" operation.

I agree with this. Currently it is super annoying to upgrade a group to a new launch config

An asynchronous API that returns a full review of my codebase by dozens of industry specialists with special attention paid to best practices and idiomatic implementation details.

This one is a really interesting idea. Although It would be quite pricey I guess. It takes time to review properly code base which is new to you and industry specialists know their price.

Instagram API that didn't require approval for basic things like downloading the image for a given Instagram URL. :P They've made it incredibly restrictive now.

Well, this is web scraping, not necessary an API problem (depends on their tos as well, of course)

Just add ?__a=1 with any instagram URL read -> https://medium.com/@motyar/instagrams-public-json-apis-330e4...

Is that a sanctioned way of doing it though? I don't want this to break later. Their https://api.instagram.com/oembed/?url= endpoint is at least documented but doesn't give full resolution photos and only limited metadata.

a really good directory / search for APIs. There is so much out there, it's like a needle in a haystack literally

That would be the best thing happening to programming in a while... if it happened. I'd pay for such a service.

An easy way to get a webpage's image/thumbnail. For e.g. get the the main product image from an Amazon URL.

An affordable API or platform to build live streaming communities such as twitch.tv

Multiple choice question and answer API for an e-learning site, for mini-tests and full exams. Ended up using classmarker, but wasn't able to customise it to the look and feel of the rest of the site.

API for musical instruments, gear, equipment and its info? If anyone know a good one, please do share.

Can you expand on this? What's use case?

So that user(studio owner,musician,etc) select the instruments or equipment that they have, maybe as autocomplete.

An API that had close to real time feed of all closed captioning for news sites and those who were speaking.

A good affordable https API to determine location from IP address.

1) an API around freight shipping

2) an API to connect with insurance carriers as a broker

ShipRush does freight and LTL via API. On the downside, it's not as clean/easy to use as EasyPost.


A dead-easy scraper API

Have you seen Nightmare? https://github.com/segmentio/nightmare

Thanks for this! Exactly what I needed for a project

Try Web Scrape Master API http://motyar.info/webscrapemaster

A language API- finding synonyms or categories to words

You can use nltk/wordnet bindings ? checkout hypernymn and holonym.

A LinkedIn API that allows you to get a list of a user's contacts. This used to exist until they made it available only to "approved partners" a couple years ago.

one that did all the hard work of coming up with a product to build, as that's generally the part I fail at :c

var MarketingCost = 0;

var customer = api.getNewCustomer(MarketingCost);

var BankAccount = api.Sell(customer);

A simple AB testing API.

Years ago I've created embeddable A/B testing platform (but only for PHP projects). It's super simple to implement and relevant to your wish http://www.binpress.com/app/multivariate-ab-testing-for-php/...

what would that look like? Is this kind of what you mean https://conductrics.com/features/ ?

unlimited stock market API

This is probably too general of a question.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact