tylerbenson / vyllage

https://www.vyllage.com
4 stars 0 forks source link

explore Indeed API #1171

Closed natebenson closed 9 years ago

natebenson commented 9 years ago

Indeed actually scrapes company sites. They also have an api, and it seems that we would be able to adjust how the jobs are shown. We can also use their filtering tools to adjust what jobs are shown, this could greatly simplify the matching component.

http://www.indeed.com/publisher

UnspeakableHorror commented 9 years ago

This seems really simple to use. There are several ways to use it.

From the Frontend, add a JS code to put a table like thing somewhere on the site, it's customizable so I tried to match our colors but failed, @nelonoel could probably choose better colors.

http://img.photobucket.com/albums/v705/UnspeakableHorror/Work/Screenshot_2015-11-25_00-14-20.png

It generates the JS code so it can be used directly.

There are a couple more but I don't think they are useful to us, Search Box, a text link and Typepad Users.

From the Backend side there's an XML endpoint that goes like this for example:

http://api.indeed.com/ads/apisearch?publisher=APIKEY&q=java&sort=&radius=&st=&jt=&start=&limit=&fromage=&filter=&latlong=1&co=us&chnl=&userip=1.2.3.4&useragent=Mozilla/%2F4.0%28Firefox%29&v=2

It requires we use some frontend code to attribute the search to them though,

http://img.photobucket.com/albums/v705/UnspeakableHorror/Work/Screenshot_2015-11-25_00-27-29.png

The result is an XML file that we can parse and show on the frontend.

UnspeakableHorror commented 9 years ago

Example XML response:

<?xml version="1.0" encoding="UTF-8" ?>
<response version="2">
    <query>java</query>
    <location>austin, tx</location>
    <dupefilter>true</dupefilter>
    <highlight>false</highlight>
    <totalresults>547</totalresults>
    <start>1</start>
    <end>10</end>
    <radius>25</radius>
    <pageNumber>0</pageNumber>
    <results>
        <result>
            <jobtitle>Java Developer</jobtitle>
            <company>XYZ Corp.</company>
            <city>Austin</city>
            <state>TX</state>
            <country>US</country>
            <formattedLocation>Austin, TX</formattedLocation>
            <source>Dice</source>
            <date>Mon, 02 Aug 2010 16:21:00 GMT</date>
            <snippet>looking for an object-oriented Java Developer... Java Servlets, HTML, JavaScript,
            AJAX, Struts, Struts2, JSF) desirable. Familiarity with Tomcat and the Java...</snippet>
            <url>http://www.indeed.com/viewjob?jk=12345&indpubnum=8343699265155203</url>
            <onmousedown>indeed_clk(this,'0000');</onmousedown>
            <latitude>30.27127</latitude>
            <longitude>-97.74103</longitude>
            <jobkey>12345</jobkey>
            <sponsored>false</sponsored>
            <expired>false</expired>
            <formattedLocationFull>Austin, TX</formattedLocationFull>
            <formattedRelativeTime>11 hours ago</formattedRelativeTime>
        </result>
        ...
    </results>
</response>

It even has latitude and longitude, we can displays stuff in maps.

UnspeakableHorror commented 9 years ago

Note: they require we send the user ip and Browser agent.

tylerbenson commented 9 years ago

I think this is what you're saying here, but just to be clear, I would prefer to do it on the back end and not embed any javascript from them onto our site.

UnspeakableHorror commented 9 years ago

Ok, we still need to use some JS code and HTML to show the results, for click tracking and attribution since they require it.