Geo Code

Hyperpublic Local Data Engineering Blog
Sep 30

Hyperpublic Brings CMU to New York

Two of Hyperpublic's engineers, @ericxtang and @zanecstarr, as well as a couple of our investors and advisors are alums of Carnegie Mellon's computer science program, so we're eager to support CMU students when they're interested in learning about the NYC startup scene. This weekend, about 6 CMU undergrads were looking to make the trip from Pittsburgh to New York in order to participate in a weekend hack event with other local college students. We were going to sponsor their bus tickets, but Eric thought it'd be more fun to get out to Pittsburgh and road trip with the gang. Details of their journey to follow today...

 

6:30am - Rise and Shine

Photo

 

7:30am - Goodbye New York (for a few hours)

Screen_shot_2011-09-30_at_9

 

9:55am - Hello Pittsburgh

(download)
If you see this van on the road, watch out for serious hacking going on inside. In the words of Eric (and Jay-Z), "No chrome on my wheels, but I'm a balla for real!" 

 

11:55am - Arrival at CMU

Photo-2

 

2:55pm - Nap time in the van back to NYC

(download)

 

6:20pm - NYC Pulls into view

Photo-5

 

8:20pm - Donatello's Pizza after a long trip. Totally hits the spot!

Photo_5

 

11:30pm - After a long day of traveling, eating and hanging out, the team retires to the AirBnb apartment in downtown Manhattan.  Rest up for a weekend of hacking!

Airbnb

 

Posted by Doug Petkanics from Bethlehem, PA, Jersey City, NJ and 2 more locations
Sep 29

Geo Deals and Events FAQ

This FAQ answers many of the commonly asked questions about our Geo Deals and Events product. If you have a question that isn't answered here, feel free to email us at affiliates@hyperpublic.com.

What type of data does a call to the deals and events api provide?
This /offers api endpoint returns local daily deals, and local events like concerts and meetups. Let's take a look at one deal example element returned by the API...

Most of the fields are pretty self explanatory. The price field is the cost in dollars of the deal, and the value field is what the deal is presumably worth. The payout field is the amount you will be paid upon each click that your app generates to the url field. The image field is useful for your UI, and the place field gives you location information to plot the deal on a map, or link to a Hyperpublic Places+ place for more information.

How does it work?
After integrating the Geodeals & Events API into your application, Hyperpublic will pay for each click to an offer’s URL. Currently, there is a flat rate per click, but performance-based rates are coming soon.
 
How much do I get paid?
Every deal has a payout field which lists how much a click to that deal is worth. For each click your app generates to the url given in the url field, you will earn the amount given in the payout field.
 
How do I get paid?
You will get paid via check within 45 days of the end of the month if you have earned more than $50. If you require payment early, send us an email to affiliates@hyperpublic.com. When you qualify for payment, Hyperpublic will be in touch to determine where to send your check, so be sure your contact info is correct in your application registration page.
 
When do I get paid?
You’ll be paid by check within 45 days of the end of the month if you’ve earned more than $50. If you require early payment, send an email to affiliates@hyperpublic.com.
 
Can I see how much traffic I’m generating?
Your Application Management page includes a “Click Data” link for each of your applications. Currently, this provides a tabular view of click volume over various time periods and an option to export the data to CSV format. Improvements to this interface are coming soon.
 
Why are the Offers’ URLs so long?
Hyperpublic uses long links to track the traffic your application generates. Each link is unique to the application and the particular offer. Users are redirected to the offer vendor’s page. If you would like to serve shorter links, please use a URL shortener like Bit.ly or Goo.gl.

Some deals and events have a 0.00 payout. What gives?
Many events are free, or do not pass on affiliate fees. This data is still valuable to developers building certain classes of applications so we still include it. If you would like to get paid for every click you generate, only show deals with non-zero payouts. Our developer docs show how to request only deals with non-zero prices.

I am a deals provider. How do I include my deals in Hyperpublic?
Just email us at affiliates@hyperpublic.com. If you have an API or a daily feed containing all the information about the deals you offer, then we're happy to include your data in our product as soon as possible.

How do I get started?
Our developer docs explain how to use our deals product. First you register for an API key, and then you can begin making calls immediately through your web browser, a command line client like CURL, or through one of our API libraries for the language of your choice.
Sep 28

Introducing the Hyperpublic API

The last few months have been busy at Hyperpublic and we’d love to tell you about two great local data APIs: Places+ and Geo Deals and Events.

Places+ returns nearby businesses and other points of interest (POI). Our places data set has freshest and most accurate information from the web. You can query the API from many popular languages and use it in your web and mobile applications.

Geo Deals and Events is a collection of real time local offers including daily deals, meet ups, exhibitions and other types of events that can be integrated into any app or web service. When your users interact with these offers, you get paid through our local offers monetization plan.

For this post, we'll focus on calling the API through simple URLs that you can try in your browser. We’ll walk through what the requests and results look like and how they're constructed.

The Places+ API returns points of interest around a specific location. Here are places around Hyperpublic HQ:

Click and you'll get a block of raw JSON. 

That's an array of JSON objects: each one represents a place in the Places+ database. Each place includes useful information like its name, lists of tags and properties, and its locations with street address and latitude/longitude.

In most cases, API calls are simply GET requests to (carefully constructed) URLs. Let’s review each piece of the example above:

  • https://api.hyperpublic.com/api/v1 — This is the base URL for Hyperpublic API requests. Hyperpublic requires SSL for all requests.
  • /places — Include this path after the base URL to access the Places+ endpoint. Other endpoints use different paths.
  • ?...&...&... — These are query parameters. Following the ? is an &-separated list of key=value pairs. You use these to define your search and pass your authorization credentials:
    • address=416%20W%2013th%20St%2C%20NY%2C%20NY%2C%2010014 — The address parameter takes a URL-encoded address. For this example, we URL encoded "416 W 13th St., New York, NY, 10014".
    • client_id=..., client_secret=... — These are the Client ID and Client Secret values you're given when you register an application. They must be included in every API call. (The values used in this post are just for documentation and examples. Don't use them in your own applications!)

By default, all location queries return at most 10 results inside a 2 km radius. You can override the defaults by passing the relevant query parameters. To get more results, include limit=50, or to search within a 0.5 km radius, include radius=0.5. How about the closest Japanese restaurant to Madison Square Garden? Combine category=japanese with the lat, lon, and limit parameters, and you're there:

You can get a specific place by making requests to /places/ID, where ID is the value of the id field in that place’s JSON representation. Here's how to get that same sushi restaurant without searching:

Calling the Geo Deals and Events endpoint is as easy as substituting /offers for /places in the request URL. The basic search and show functionalities are the same as with Places+, but some of the query parameters are different. Let's find offers near Prospect Park, Brooklyn, that cost less than $50:

And we can request a specific offer the same way we requested a specific place:

This is a basic introduction to the Hyperpublic API; check out the API documentation for a full reference. The documentation pages will be updated with new features as we roll them out, so check back often! Our Geo Code blog will have more posts to show how to use language-specific libraries to easily integrate Hyperpublic into your applications.

Got questions? Post to our API Developers Google Group and we'll be glad to help you out. Happy hacking!

Sep 27

Stanford Machine Learning Course Open To The Public Online

Consider this a public service announcement relevant to all you aspiring data hackers out there: Stanford is offering their introductory undergraduate machine learning course to the public available online for free. The course will be taught by Professor Andrew Ng, and will consist of 2-3 weekly lectures delivered via online video, review questions, and programming exercises. Students will be able to submit questions and will be graded on their review question and programming exercise submissions. 

The material, while not trivial, requires no formal pre-requisites except for experience with at least one programming language, and probably some comfort with linear algebra. The web site says to expect to spend approximately 10 hours per week during the 10 week curriculum. To sign up, visit the course web site at http://www.ml-class.org.

At Hyperpublic we use machine learning in a number of places while building our places dataset. The most direct application is in our classification algorithms to determine whether a particular business might be a Japanese Restaurant, Female Shoe Store, or any of the other 300+ categories that we've defined in our ontology. We can also apply ML to solving data freshness problems and cross-referencing problems.

While we have experienced data gurus with academic ML training on the team, the rest of us academically curious engineers are looking forward to participating in the Stanford course. We'll be occasionally hosting study groups at the office and pestering one another to make sure everyone hands in their homework on time. Back to school!
Sep 26

What Do Developers Want From Local Data?

We've spent a lot of time over the past year talking with developers about what they are looking for in terms of local data. Everybody has different requests depending upon what they're building, however certain requests come up time and time again.

A Complete and Up-To-Date Places Database
This is priority number one. Everybody wants to know what restaurants, shops, bars, landmarks, and points of interest exist at what addresses and lat/lon's. Whether your'e building a restaurant recommendation app, or an app that shows users where to find the nearest coffee shop, you need a list of all the local businesses to build off of.

Rich Data
Having access to a POI database containing business names, phone numbers, and addresses is a start, but when you start to dig a little deeper into developer's wishes, you find that they generally want more. If we dig into the restaurant review app for example, we'll quickly find out that the developers really want to know what types of food the restaurants serve, what their hours are, photos of the exterior and interior of the restaurant, pricing information, and potentially even the items on the menu.

Offers and Deals
New York recently asked their citizens what apps they'd like to see built by developers during the NYC Big Apps competition - a contest in which developers submit local applications built on NYC public data sources. A fair number of popular suggestions asked for a way to find out what deals and offers are going on around me right now. These deals save money for consumers and allow them to try new things cheaply, and as such, they are a very effective local advertisement for businesses. Developers have taken note, and want an easy way to surface deal information to their users, and possibly make money in the process.

Useful Social Location Data
Who's tweeting, checking in, attending events, and posting photos about a particular location? There's a lot of noise created in the social channels, but there's also a lot of golden original content that can be sliced, diced, and analyzed for insights. Developers want access to this data, potentially in a filtered way to eliminate the noise.

Inventory Data
It is useful to know what is being sold, where, and at what price. It's hard to build efficient recommendations, or comparison shopping apps without access to this data, and amassing it across sources is tough.

There are plenty of other examples that developers have requested in the long tail, but the above represents the requests that we hear on a repeated basis. Hyperpublic has been working to make this data available to developers in an open manner. We have a lot of work to do going forward, but look for announcements and future posts soon detailing how exactly to power your local apps using the above data from Hyperpublic.

About Geo Code

Geo Code is the engineering blog of Hyperpublic, an open location platform.
Tumblr

Search Blog

Get Updates

Tags

Archive

2011 (27)