Serpstack Review: JSON Rest -sovellusliittymä Google-hakutuloksille

click fraud protection

Jos haluat hakea hakukoneiden tuloksia - etenkin Googlen tuloksia - yksi tapa tehdä se on suorita varsinainen haku google.com-sivustossa ja yritä jäsentää monimutkainen HTML-koodi, jonka saat tulos. Se voidaan tehdä, mutta se on aika pyrkimys. Jos haluat kulkea helpomman reitin, miksi et käytä omaa SERP-sovellusliittymää, jonka voit syöttää hakutermilläsi ja joka tuottaa tulokset muodossa, joka on helppo jäsentää. Yksi tällainen tuote on Serpstack -sovellusliittymä apilayerista. Se ottaa hakukyselyn ja parametrit syötteenä ja palauttaa hakutulokset JSON-muodossa. Katsotaanpa syvällinen tuote.

Serpstack-kotisivu

Aloitamme, kuten usein, keskustelemalla SERP: stä yleensä. Seuraavaksi selitämme mitä se on ja kuvaamme muutamia erityyppisiä tuloksia, joita tyypillisesti on saatavana hakukoneista. Tutkimme myös joitain syitä SERP-sovellusliittymän käyttämiseen. Ja kun olemme kaikki samalla sivulla, meillä on yksityiskohtainen kuvaus Serpstack-sovellusliittymästä. Katsomme nopeasti joitain sen pääominaisuuksista, ennen kuin harkitsemme sovellusliittymän käyttöä. Ja ennen kuin olemme päättäneet, tutkimme palvelun hintarakennetta ja käytettävissä olevia suunnitelmia.

instagram viewer

SERP pähkinänkuoressa

Ensinnäkin, SERP on lyhenne hakukoneiden tulossivuille. Nämä ovat verkkosivuja, jotka tarjotaan käyttäjille, kun he etsivät jotain verkossa hakukoneella, kuten Google tai Bing. Käyttäjä määrittelee hakukyselynsä käyttämällä erityisiä termejä ja ilmauksia, joita yleisesti kutsutaan avainsanoiksi, ja sitten hakukone esittelee heille SERP: n.

Jokainen SERP on ainutlaatuinen. Tämä pätee jopa useisiin hakukyselyihin, jotka suoritetaan samalle hakukoneelle käyttämällä samoja avainsanoja tai kyselytekstiä. Tärkein syy siihen on, että käytännöllisesti katsoen jokainen hakukone räätälöi käyttäjiensä kokemusta esittämällä tuloksia, jotka perustuvat monenlaisiin tekijöihin, jotka ylittävät hakutermit. Näitä tekijöitä voivat olla käyttäjän fyysinen sijainti, hänen selaushistoria ja sosiaaliset asetukset jne. Ja vaikka kaksi SERP: tä voivat näyttää identtisiltä ja voivat sisältää monia samoja tuloksia, niissä on usein hienoisia eroja.

Hakukoneiden tarjoajat, kuten Google, Bing tai muut toimijat, kehittävät jatkuvasti palveluitaan ja tekniikoitaan ja kokeilevat tuloksia. Heidän tavoitteena on tarjota käyttäjille reagoivampi ja intuitiivisempi kokemus. Kun uudet tekniikat otetaan käyttöön hakutilassa - ja ne ovat hämmästyttävässä vauhdissa, SERP: ien ulkonäkö muuttuu, ja ne eroavat nykyään aivan erilaisista kuin ne, jotka olivat aiemmin.

Orgaaniset tulokset

SERP: t sisältävät yleensä kahden tyyppistä sisältöä: orgaaniset tulokset ja maksetut tulokset. Orgaaniset tulokset ovat verkkosivujen luetteloita, jotka ilmestyvät hakukoneen algoritmin tuloksena. Lisää tästä hetkessä. Hakukoneoptimointi tai hakukoneoptimointipalvelu (SEO) on tiede - tai onko se pikemminkin taidetta - manipuloida sisältöä huijataksesi hakukoneita verkkosivustomme luetteloimiseksi tietyllä avainsanalla tai hakujonolla.

Tietoja hakualgoritmeista ja sijoitussignaaleista

Joten, takaisin orgaanisiin tuloksiin. Lyhyesti sanottuna, ne ovat luetteloita, jotka hakukone on indeksoinut useiden tekijöiden perusteella jota yhdessä kutsutaan ”sijoitussignaaliksi”. Esimerkiksi Googlen käyttämässä hakualgoritmissa on satoja sijoitus tekijät. Hakukoneiden tarjoajat pitävät yleensä sijoitusjärjestelmänsä tietoja salassa. Joten vaikka kukaan Googlen ulkopuolella - ja mahdollisesti ei niin suuri joukko ihmisiä - tiedä tarkalleen, mitkä ovat sijoitussignaalit, jotkut pidetään tärkeämpinä kuin toiset.

Miksi käyttää SERP-sovellusliittymää?

SERP-sovellusliittymälle voi olla useita syitä. On selvää, että sinun on ajoittain noudettava tuotteidesi ja verkkosivustojesi SERP-tietoja ja seurattava sitä ajan myötä, koska se on olennainen osa mitä tahansa SEO-strategiaa. Sijoituksissa jatkuvasti vaihteleessa ja hakusanat muuttuvat enemmän tai vähemmän soveltuviksi ja arvokkaiksi ajan kuluessa, joten on vain yksi tapa pysyä näiden päällä muutoksia ja että on käytettävä valmista ohjelmistoa palveluna (SaaS) -ratkaisuna, joka toteuttaa SERP-tiedot suoraan omaan sovellukseesi tai verkkosivustoillesi käyttämällä SERP-sovellusliittymää kuten Serpstack.

Lyhyesti sanottuna, suurin ero selaimen avulla SERP-tietojen noutamisen ja SERP-sovellusliittymän, kuten Serpstack, käytön välillä on vastauksen muoto. Serpstack-sovellusliittymä palauttaa JSON-tiedot, jotka sisäisessä ohjelmistossa on helppo jäsentää. Sen käyttäminen vapauttaa sinut tarpeesta purkaa merkityksellinen tieto kaikista ympäröivistä Web-muotoiluista.

Esittelyssä Serpstack

Yhdessä lauseessa Serpstack on reaaliaikainen ja tarkka Google-hakutulosten sovellusliittymä. JSON REST -sovellusliittymä on salamannopea ja helppo käyttää. Tuotteen rakentaa ja ylläpitää apilayer, ohjelmistoyritys, joka sijaitsee Lontoossa, Isossa-Britanniassa ja Wienissä, Itävallassa. Alun perin tuotettu sisäinen tarve seurata hakukoneiden sijainteja automatisoidusti, tuotteesta on tullut yksi markkinoiden luotettavimmista SERP-sovellusliittymistä. Apilayerin suhteen tämä on eräiden maailman suosituimpien API- ja SaaS-tuotteiden takana oleva yritys, mukaan lukien Currencylayer, Invoicely ja Eversign.

Serpstack-sovellusliittymä hakee SERP-tiedot hakukoneista automatisoidulla tavalla käyttämällä välityspalvelinta ja omaa kaavintekniikkaa aina, kun API-pyyntöjä tehdään. Tuloksena olevat SERP-tiedot ovat julkisesti saatavilla ja kuka tahansa voi käyttää niitä. Lisäksi Serpstack-sovellusliittymä tukee melkein kaikkia Googlen palauttamia hakutulostyyppejä, mukaan lukien verkko tulokset, kuvan tulokset, videotulokset, uutiset, ostotulokset, sponsoroidut mainokset, kysymykset ja paljon muuta lisää.

Serpstack-sovellusliittymä on rakennettu apilayer-pilviinfrastruktuurin päälle, järjestelmään, jolla jotkut maailman suosituimmista reaaliaikaisista API-palveluista ovat käynnissä. Serpstack-sovellusliittymä on erittäin skaalautuva ja joustava missä tahansa vaiheessa. Se rakennettiin tarjoamaan tapa kaavittaa Google SERP-tietoja reaaliajassa ja missä tahansa mittakaavassa. Palvelun toteuttaminen vie vain muutaman minuutin käyttämällä yksinkertaista HTTP GET URL -rakennetta, ja tulokset palautetaan joko JSON- tai CSV-muodossa.

Serpstackin pääpiirteet

Ominaisuuden kannalta Serpstack-sovellusliittymä ei jätä mitään toivomisen varaa. Ensisijaisesti palvelu on erittäin skaalautuvaa ja aina jonoton. Apilayerin tehokas pilviinfrastruktuuri rakennettiin yksinkertaisesti kestämään suuren määrän API-pyyntöjä ilman jonon tarvetta. Se on ollut useiden yrityksen tuotteiden ytimessä. Se on myös erittäin muokattavissa. Koska kahdella asiakkaalla ei ole identtisiä tarpeita, voit räätälöidä automatisoidut hakulausekkeesi sarjan vaihtoehtojen perusteella, mukaan lukien sijainti, kieli, laite ja muu.

Tämän tuotteen käytöstä on huolissaan globaaleista IP-osoitteista, selainklustereista tai CAPTCHA-liittymistä. Kiitos tehokas taustalla oleva välityspalvelinverkko, tämä SERP-kaavinta-sovellusliittymä on saanut sinut kattamaan melkein jokaisen tilanne. Ja se on myös budjetissa helppoa. Saat jopa 100 kuukausittaista pyyntöä ilmaiseksi, ja jos tarvitset enemmänkin - ja todennäköisesti teetkin - maksetut suunnitelmat alkavat vain 29,99 dollaria kuukaudessa. Tarkastelemme tuotteen hinnoittelua yksityiskohtaisemmin pian.

Tässä on yleiskatsaus joidenkin tuotteen tärkeimmistä ominaisuuksista:

Yksinkertainen integrointi

Scrapestack-sovellusliittymän käyttäminen tuskin voisi olla helpompaa heti lähtökohdasta. Mukautettujen kyselyiden luominen ja SERP-sivujen kaapiminen missä tahansa mittakaavassa mukautettujen sijaintien, laitteiden, kielten ja muun avulla vie vain muutaman minuutin.

Korkea turvallisuustaso

Kaikki Serpstack API: lle lähetetyt ja sieltä vastaanotetut tietovirrat on salattu käyttämällä 256-bittistä SSL-salausta. Tämä on samantyyppinen suojaus, jota pankkisivustot tai useimmat sähköisen kaupankäynnin alustat käyttävät. Voit olla varma, että tietosi säilyvät suojattuina.

Erinomainen nopeus ja saatavuus

Lähes täydellisen saatavuuspisteen avulla voit olla varma, että Scrapestack API on siellä, kun tarvitset sitä. Ja apilayer ei koskaan vaaranna nopeutta. Sovellusliittymälle lähetetyt sovelluspyynnöt käsitellään millisekunneina. Tulosten nopea nopeus riippuu tietysti myös Googlen vastausajoista.

Serpstack-tilasivu

Tulostusmuotojen valinta

Jotta SERP-tietojen nostaminen olisi entistä helpompaa, Serpstackin helppokäyttöinen REST-sovellusliittymä tarjoaa valikoiman JSON- tai CSV-vastauksia. Se tekee siitä yhteensopivan minkä tahansa ohjelmointikielen kanssa.

Maailmanluokan tuki

Usein sanotaan, että tuote on vain niin hyvä kuin sen tekninen tukirakenne. Tämä on jälleen paikka, jossa Scrapestack paistaa. Jos sinulla on teknisiä kysymyksiä, koulutettu asiantuntijaryhmä auttaa sinua kaikissa mahdollisissa pyynnöissä. Vastaus on nopea ja palvelu toimii melko hyvin.

Laaja dokumentaatio

Aivan yhtä tärkeä kuin tuki, dokumentaatio on usein ensisijainen tapa oppia käyttämään tuotetta. Serpstack tarjoaa laajan API-dokumentoinnin, joka odottaa tutkimista. Sen avulla pääset alkuun muutamassa minuutissa ja saat asiantuntijaksi muutamassa päivässä, ei viikoissa tai kuukausissa.

Serpstack Documentaiton

Serpstackin käyttö

Tarpeeksi kerskaamalla tuotteen hienoja ominaisuuksia - ja ne todella ovat, katsotaanpa miten käytät tosiasiallisesti tuotetta ja erilaisia ​​pyyntöjä, joita voit tehdä, ja vastaavia vastauksia voi odottaa.

Perusteet

Jos haluat käyttää Serpstack-sovellusliittymää, sinun on ensin kirjauduttava sisään tilille. Tämä on ilmainen, minkä seurauksena sinulle annetaan yksilöllinen sovellusliittymän käyttöavain. Tätä käytät nyt todentaessasi sovellusliittymällä yksinkertaisilla HTTP GET -pyynnöillä käyttääksesi kaikkia käytettävissä olevia päätepisteitä. Joten käyttääksesi sovellusliittymää sinun on yksinkertaisesti liitettävä API-avaimesi perus-URL-osoitteeseen käyttämällä ”pääsykoodi”Parametri. Täältä näet, mikä tyypillinen - vaikkakin hyvin yksinkertainen ja täysin hyödytön - pyyntö näyttää:

http://api.serpstack.com/search? access_key = YOUR_ACCESS_KEY

Turvallisuuden lisäämiseksi kaikki maksetut suunnitelmat sallivat 256-bittisen SSL-salauksen käytön. Sen käyttämiseksi tarvitset vain HTTPS-pyyntöjen lähettämisen HTTP-pyyntöjen sijasta. Esimerkiksi yllä olevasta salausta koskevasta esimerkistä tulisi:

https://api.serpstack.com/search? access_key = YOUR_ACCESS_KEY

Aina sovellusliittymäpyyntö epäonnistuu, Serpstack-sovellusliittymä palauttaa JSON-objektin, joka sisältää virheen yksityiskohdat. Esimerkiksi tässä on, mitä sovellusliittymä palauttaa, jos suurin sallittu sovellusliittymäpyyntöraja on saavutettu tai ylitetty. Jokaisella tilaussuunnitelmalla on erilainen rajoitus pyyntöjen lukumäärälle.

{"success": false, "error": {"code": 104, "type": "use_limit_reached", "info": "Kuukausittainen API-pyyntösi määrä on saavutettu. Päivitä suunnitelmasi. "}}

API-pyyntö ja parametrit

Ellei toisin mainita, Serpstack-sovellusliittymä toimittaa aina oletuksena hakutulosten toimittamisen Googlelta. Jos siis haluat kysyä Google-hakutulosten sovellusliittymältä, sinun tarvitsee vain lisätä ”tiedustelu”-Parametri sovellusliittymän perus-URL-osoitteeseen ja aseta se valitsemallesi hakukyselylle. Näin kysely, jossa käytetään hakuterminä “mcdonalds”, näyttää todennuksen ja salauksen yhteydessä:

https://api.serpstack.com/search? access_key = YOUR_ACCESS_KEY & query = mcdonalds

Kuten näette, tämä on melko yksinkertainen syntaksi. Kuten varmasti olette kuvitelleet, on olemassa valinnainen määrä parametreja, jotka voidaan lisätä pyyntöön kaventaa hakutuloksia edelleen. Tutkimme muutamia niistä hetkessä, mutta yksityiskohtainen luettelo kaikista niistä on saatavana online-sovellusliittymän ohjeissa.

API-vastaukset

Serpstack-sovellusliittymästä saamasi vastaukset riippuvat voimakkaasti hakukyselystäsi ja käyttämistäsi parametreista. Peruskysely, jota ei ole määritetty suodattamalla, palauttaa tonnin tietoja. Tässä on vastauksen alkuosa, jonka sait yllä olevasta esimerkkikyselystä.

{"pyyntö": {"menestys": totta, "prosessoitu_timestamp": 1566207832, "haku_url": " https://www.google.com/search? q = mcdonalds "," total_time_taken ": 1.5}," search_parameters ": {" moottori ":" google "," kysely ":" mcdonalds "," type ":" web "," laite ":" desktop ", "google_domain": "google.com", "hl": "en", "gl": "us", "sivu": "1", "num": "10"}, "search_information": {"total_results ": 759000000, "time_taken_displayed": 0.91, "did_you_mean": nolla, "näyttäminen_tulokset_for": nolla, "query_displayed": "mcdonalds", "havaittu_sijainti": nolla, "no_results_for_original_query": false},

Yllä olevan näytteen tarkoituksena on vain antaa sinulle käsitys siitä, millaiset tulokset voivat näyttää. Olen sisällyttänyt vastauksen ensimmäiset 25 riviä, joka on kokonaisuudessaan yli neljäsataa riviä pitkä.

Kuten olet ehkä huomannut Google-hakua käytettäessä, tyypillisellä hakutulossivulla on eri osiot, joista jokaisella on erityyppisiä tuloksia. Olet maksanut mainostuloksia, orgaanisia tuloksia, kuvia, videoita jne. Lisäksi sivun yläreunassa olevalla nauhalla voit näyttää vain erityyppisiä tuloksia, kuten karttoja, uutisia, ostoksia tai kirjoja. Eri valinnaisilla parametreilla voit määrittää, millaisia ​​hakutuloksia haluat saada, jolloin tuloksena olevan JSON-tiedoston jäsentäminen on paljon yksinkertaisempaa. Katsotaanpa syvemmälle joitain erityyppisiä tuloksia, joita voit saada.

Mainoksen tulokset

Aina, kun hakukyselyllesi on sponsoroituja mainoksia - ja niitä on yleensä, API-vastaus tulee mainosobjektiin. Se sisältää kaikki mainokset siinä järjestyksessä kuin ne näytetään hakutuloksessa. Se sisältää molemmat mainokset, jotka näkyvät hakutuloksen ylä- ja alaosassa.

Orgaaniset tulokset

Orgaaniset hakutulokset ovat tärkeimmät Googlen tarjoamat hakutulokset, ja ne ovat todennäköisesti niitä, joista olet erityisen kiinnostunut. Niitä määrää joukko tekijöitä, kuten verkkoliikenne, takaisinlinkit, sosiaalisen median läsnäolo ja paljon muuta. Tarkka algoritmi pitää Googlen salassa kilpailukykynsä säilyttämiseksi. Sovellusliittymä jäsentää nämä tulokset yksityiskohtaisesti ja palauttaa muodossa “organic_results”.

Kuvan tulokset

Aivan kuten on olemassa kaksi tapaa saada hakutuloksia Google-hausta, sovellusliittymä voi palauttaa kuvat kahdella tavalla. Kun teet standardihakua, Google tarjoaa joitain kuvia hakutuloksissa. Scrapestack-sovellusliittymä palauttaa nämä kuvat - joihin viitataan rivikuvina -inline_images”Ryhmä.

"image_results": [{"sijainti": 1, "otsikko": "McDonald's Gold Card: The True Story ...", "leveys": 1024, "korkeus": 683, "image_url": " https://www.rd.com/wp-content/uploads/2017/12/the-true-story-behind-the-mysterious-mcdonalds-gold-card-673955074-Vytautas-Kielaitis-1024x683.jpg", "type": "png", "url": " http://rd.com", "lähde": " https://rd.com" }, {"sijainti": 2, "otsikko": "McDonald's - Wikipedia", "leveys": 1200, "korkeus": 1051, "image_url": " https://upload.wikimedia.org/wikipedia/commons/thumb/3/36/McDonald%27s_Golden_Arches.svg/1200px-McDonald%27s_Golden_Arches.svg.png", "type": "png", "url": " https://en.wikipedia.org/wiki/McDonald%27s", "lähde": " https://en.wikipedia.org" }, {"sijainti": 3, "otsikko": "Parhaat uudet globaalit valikkokohteet ...", "leveys": 970, "korkeus": 545, "image_url": " https://assets3.thrillist.com/v1/image/2825587/size/gn-gift_guide_variable_c.jpg", "type": "png", "url": " https://thrillist.com/", "lähde": " https://thrillist.com" } ]

Jos toisaalta kuvia etsitään erityisesti, kun tyyppiparametri on asetettu kuville, kuvat palautetaan ”image_results”Ryhmä. Näissä tilanteissa API palauttaa oletuksena 100 kuvaa.

Videotulokset

Täsmälleen samat näkökohdat, jotka äskettäin kuvasimme, pätevät myös videotuloksiin, koska molemmat rivivideot ovat saatavana globaaleissa hakutuloksissa tai omistettuja videotuloksia

Voisimme jatkaa sivujen etsimistä ja antaa sinulle yksityiskohtaisia ​​tietoja erityyppisistä tuloksista, jotka Serpstack-sovellusliittymä voi palauttaa, mutta luulemme, että saat kuvan. Riittää, kun sanotaan, että minkä tyyppisiä tuloksia tyypillinen Google-haku palauttaa, on saatavana myös sovellusliittymän vastauksessa. Jo kuvattujen tulostyyppien lisäksi sovellusliittymä palauttaa, uutistulokset, ostointitulokset ja paikalliset tulokset sekä tulossivun vastausruudun, sääruudun, tapahtumien, parhaan karusellin, suosituimpien tarinoiden jne. sisältö

Tuetut ohjelmointiympäristöt

Yksi parhaimmista asioista Serpstack API: ssa on, että voit käyttää sitä helposti useimpien sisällä ympäristöissä, riippumatta siitä, mitä kieltä käytät, niin sinun pitäisi olla niin kauan kuin voit lähettää HTTP-pyyntöjä hyvä mennä. Kaikkia suosittuja verkkokieliä, kuten PHP tai Python, tuetaan. Itse asiassa sovellusliittymän dokumentaatio sisältää esimerkkejä sen käyttämisestä PHP: ltä, Pythonilta, Nodejsilta, jQueryltä, Go: lta ja Rubylta.

Tässä on esimerkiksi PHP-koodi, jolla tulostetaan hakutulosten kokonaismäärä sekä jokainen orgaaninen hakutulos, jonka Serpstack API palauttaa.

$ queryString = http_build_query (['access_key' => 'YOUR_ACCESS_KEY', 'query' => 'mcdonalds',]); $ ch = curl_init (sprintf ('% s?% s', ' https://api.serpstack.com/search', $ QueryString)); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, totta); $ json = curl_exec ($ ch); curl_close ($ ch); $ api_result = json_decode ($ json, totta); kaiku "Tulokset yhteensä:", $ api_result ['search_information'] ['total_results'], PHP_EOL; foreach ($ api_result ['organic_results'] as $ number => $ tulos) {echo "{$ number}. {$ tulos ['otsikko']} ", PHP_EOL; }

Ja tässä on jokin koodi suorittamaan sama asia Pythonissa:

tuontipyynnöt params = {'access_key': 'YOUR_ACCESS_KEY', 'query': 'mcdonalds'} api_result = request.get (' https://api.serpstack.com/search', params) api_response = api_result.json () tulosta "Tulokset yhteensä:", api_response ['search_information'] ['total_results'] numerolle, tulos enumerate (api_response ['organic_results'], alku = 1): tulosta "% s. % s "% (lukumäärä, tulos ['otsikko'])

Hinnoittelu ja suunnitelmat

Serpstack-sovellusliittymä on saatavana useiden suunnitelmien mukaisesti tarpeistasi riippuen. Pohjimmiltaan suunnitelma on vapaa suunnitelma. Kuten nimensä osoittaa, se on ilmainen, mutta vaikka se ei olekaan ajan mukainen, kuten tyypilliset kokeiluversiot, se on ominaisuusrajoitettu ja käyttö rajoitettu. Voit suorittaa vain 100 hakua kuukaudessa.

Serpstack-hinnoittelurakenne

Seuraavat kolme tasoa ovat täysin varustellut ja vaihtelevat vain sen mukaan, kuinka monta kuukausittaista hakua olet sallinut suorittaa. Perussuunnitelma antaa sinulle 5000 hintaan 29,99 dollaria / kuukausi, liiketoimintasuunnitelma, jonka hinta on 99,99 dollaria / kuukausi, nostaa sen 20 000: een, ja Business Pro -suunnitelma antaa sinun suorittaa mahtavia 50 000 hakua 199,99 dollaria kuukaudessa. Jos yksikään näistä suunnitelmista ei sovi sinulle, on olemassa myös hinnaltaan vaihteleva yrityssuunnitelma, joka voidaan räätälöidä tarpeidesi mukaan. Jos valitset kuukausittaisen laskutuksen sijaan, sinulla on 20%: n alennus, mikä tekee palvelusta entistä edullisemman.

Käärimistä

Lyhyesti sanottuna Serpstack-sovellusliittymä on helppokäyttöinen, monipuolinen tuote, jota voit käyttää hyväkseen aina, kun sinun on haettava SERP-tiedot Googlelta. Sen tähtiaikainen käytettävyys ja vaikuttava vasteaika ovat eräitä sen parhaista puolista. Apilayerin tukemana, joka on tuonut meille muita erinomaisia ​​sovellusliittymiä, olemme vakuuttuneita siitä, että tämä antaa toivottuja tuloksia. Tämä on tuote, jota voimme vain suositella.

watch instagram story