Upgrade Your Local SEO Tool With SERP API: Extracting Local Pack Listings

Upgrade Your Local SEO Tool With SERP API: Extracting Local Pack Listings

Local SEO has drastically changed in the past several years and local SERP features have undergone radical changes too. While Google’s intent to improve local search is totally understandable, every update to the algorithm hits local businesses as hard as anyone.

Local Pack listings have long been a cornerstone of local results. Millions of businesses rely on them heavily. Taking this into account, the continuous monitoring of positions in Google Local Pack is critical for local SEO.

“It’s extremely important for me to track even the slightest moves within the Local Pack for my clients. There are only 2 or 3 “places under the sun” there so every little move can mean the difference between complete invisibility and amazing exposure. Unfortunately, none of the rank tracking tools that we’ve tried before were able to assist. Thankfully DataForSEO is finally able to crack this dilemma! Kudos to you guys!”
Val Zamulin, CEO of Seologist

Here at DataForSEO, we’ve made the accuracy of local data our top-priority. Moreover, with version three of SERP API, you will be able to extract the local pack listings from both Google and Bing search results. In this article, we’ll walk you through the process of obtaining Local Pack rankings. But first, let’s review the essentials.

Unpacking The Un-ex-Pack-ted

As we’ve already mentioned, keeping an eye on the Local Pack listing is crucial for ranking locally. However, it can be more complicated than it seems.

1The first tricky thing is that any user can suggest edits to the listing data in both Google and Bing, and the suggestions can be accepted without any notification for the business owner. These random edits can cause a sweeping change in local rankings. That’s why a local SEO tool should provide reliable data for regular check-ups.

2Another issue is that search engines show different kinds of Local Packs for different queries. We have recently been approached by a customer who had difficulties tying the local listings up to their customer’s local establishment.

For example, if you run a simple “dentistry” search, you are likely to get a local element similar to this:

dentist london

At the same time, if you decide to search for the “grocery store” you’ll see something similar to this:

grocery store

Did you notice the difference between the two?

The first one offers the “website” and “direction” features next to the results, whereas the second one has photos on their place – so it’s not possible to extract the establishment’s URL and therefore match particular Local Pack results with local businesses’ websites. At best, you could only match a description with a name, which, as it turns out, is not really convenient.

3Things can get even more complicated with paid results popping up in the Local Pack. The research published by Moz states that 35% of SERPS with local packs display ads. Having both organic and paid results makes the three-pack in fact a “four-pack”, and in its turn, the data extraction process becomes way more intricate.

local pack paid results

Surmounting This Mountain

First of all, since we are talking locally, with SERP API you will be able to narrow the search area down to precise coordinates and radius and, notably, provide accurate up-to-date stats. What’s more, you can use the Live method to show real-time positions and incorporate the SERP’s HTML to visualize the results in your tool.

Secondly, with the Advanced function of SERP API, you can extract descriptions, ratings, and, what’s more important, phone numbers from the local pack listings. In this way, it will be possible to match the positions from the Local Pack with either business names or phone numbers. Moreover, you can distinguish the organic and paid results in the three-pack.

Let’s see what data from Google local pack we can get for the “pizza takeaway” search query made from Boston.

Request Sample

POST: https://api.dataforseo.com/v3/serp/google/organic/task_post

{
    "post ID 1": {		
		"language_code": "en",
		"location_name": "Boston,Massachusetts,United States",
		"keyword": "pizza takeaway"
    }
}

 
Response Sample 

{
    "version": "0.1.20200213",
    "status_code": 20000,
    "status_message": "Ok.",
    "time": "0.0497 sec.",
    "cost": 0.00075,
    "tasks_count": 1,
    "tasks_error": 0,
    "tasks": [
        {
            "id": "02131823-1535-0066-0000-7297a43f314a",
            "status_code": 20100,
            "status_message": "Task Created.",
            "time": "0.0035 sec.",
            "cost": 0.00075,
            "result_count": 0,
            "path": [
                "v3",
                "serp",
                "google",
                "organic",
                "task_post"
            ],
            "data": {
                "api": "serp",
                "function": "task_post",
                "se": "google",
                "se_type": "organic",
                "language_code": "en",
                "location_name": "Boston,Massachusetts,United States",
                "keyword": "pizza takeaway",
                "device": "desktop",
                "os": "windows"
            },
            "result": null
        }
    ]
}
Request Sample

GET https://api.dataforseo.com/v3/serp/google/organic/task_get/advanced/02131823-1535-0066-0000-7297a43f314a

Response Sample

{
    "version": "0.1.20200213",
    "status_code": 20000,
    "status_message": "Ok.",
    "time": "0.0467 sec.",
    "cost": 0,
    "tasks_count": 1,
    "tasks_error": 0,
    "tasks": [
        {
            "id": "02131823-1535-0066-0000-7297a43f314a",
            "status_code": 20000,
            "status_message": "Ok.",
            "time": "0.0277 sec.",
            "cost": 0,
            "result_count": 1,
            "path": [
                "v3",
                "serp",
                "google",
                "organic",
                "task_get",
                "advanced",
                "02131823-1535-0066-0000-7297a43f314a"
            ],
            "data": {
                "api": "serp",
                "function": "task_get",
                "se": "google",
                "se_type": "organic",
                "language_code": "en",
                "location_name": "Boston,Massachusetts,United States",
                "keyword": "pizza takeaway",
                "device": "desktop",
                "os": "windows"
            },
            "result": [
                {
                    "keyword": "pizza takeaway",
                    "type": "organic",
                    "se_domain": "google.com",
                    "location_code": 1018127,
                    "language_code": "en",
                    "check_url": "https://www.google.com/search?q=pizza%20takeaway&num=100&hl=en&gl=US&gws_rd=cr&ie=UTF-8&oe=UTF-8&uule=w+CAIQIFISCRsxPQ0tZeOJEaDoYgEkv3x4",
                    "datetime": "2020-02-13 16:23:39 +00:00",
                    "target_rankings": null,
                    "spell": null,
                    "item_types": [
                        "organic",
                        "top_stories",
                        "images",
                        "video",
                        "local_pack",
                        "paid",
                        "related_searches"
                    ],
                    "se_results_count": 0,
                    "items_count": 105,
                    "items": [
                        {
                            "type": "paid",
                            "rank_group": 1,
                            "rank_absolute": 1,
                            "position": "left",
                            "xpath": "/html[1]/body[1]/div[8]/div[3]/div[9]/div[1]/div[2]/div[1]/div[1]/div[3]/div[1]/div[1]/ol[1]/li[1]",
                            "title": "Little Pizza King | Delivery by Caviar | TryCaviar.com‎",
                            "domain": "www.trycaviar.com",
                            "breadcrumb": "www.trycaviar.com/",
                            "url": "https://www.trycaviar.com/m/little-pizza-king-16705?utm_campaign=placepage&utm_content=416102513653&utm_matchtype=&utm_medium=paid_search&utm_mobile=n&utm_network=g&utm_placement=&utm_source=google&utm_term=",
                            "highlighted": [
                                "delivery",
                                "Delivery"
                            ],
                            "extra": {
                                "ad_aclk": "DChcSEwjZo_yP-M7nAhVJppYKHf2BC3AYABAAGgJ0bA"
                            },
                            "description": "Order now to get free delivery fees on your first order. Over 2000 Restaurants. Free 1st Delivery Fee. Bring Date Night Home. Easy Ordering Process. Farm to Your Table.",
                            "description_rows": null,
                            "links": null
                        },
                        {
                            "type": "local_pack",
                            "rank_group": 1,
                            "rank_absolute": 2,
                            "position": "left",
                            "xpath": "/html[1]/body[1]/div[8]/div[3]/div[9]/div[1]/div[2]/div[1]/div[2]/div[2]/div[1]/div[1]/div[1]/div[1]/div[1]/div[2]/div[1]/div[4]/div[1]/div[1]",
                            "title": "Felcaro Pizzeria",
                            "description": "280 Cambridge St \n\nBasic storefront for pies & calzones \n",
                            "domain": null,
                            "phone": null,
                            "url": null,
                            "is_paid": false,
                            "rating": {
                                "rating_type": "Max5",
                                "value": 4,
                                "votes_count": null,
                                "rating_max": 5
                            }
                        },
                        {
                            "type": "local_pack",
                            "rank_group": 2,
                            "rank_absolute": 3,
                            "position": "left",
                            "xpath": "/html[1]/body[1]/div[8]/div[3]/div[9]/div[1]/div[2]/div[1]/div[2]/div[2]/div[1]/div[1]/div[1]/div[1]/div[1]/div[2]/div[1]/div[4]/div[1]/div[2]",
                            "title": "Domino's Pizza",
                            "description": "64 Staniford St \n\nLongtime pizza chain known for delivery \n",
                            "domain": null,
                            "phone": null,
                            "url": null,
                            "is_paid": false,
                            "rating": {
                                "rating_type": "Max5",
                                "value": 3.1,
                                "votes_count": null,
                                "rating_max": 5
                            }
                        },
                        {
                            "type": "local_pack",
                            "rank_group": 3,
                            "rank_absolute": 4,
                            "position": "left",
                            "xpath": "/html[1]/body[1]/div[8]/div[3]/div[9]/div[1]/div[2]/div[1]/div[2]/div[2]/div[1]/div[1]/div[1]/div[1]/div[1]/div[2]/div[1]/div[4]/div[1]/div[3]",
                            "title": "Andrea's House of Pizza",
                            "description": "156 Cambridge St \n\n",
                            "domain": null,
                            "phone": null,
                            "url": null,
                            "is_paid": false,
                            "rating": {
                                "rating_type": "Max5",
                                "value": 2.8,
                                "votes_count": null,
                                "rating_max": 5
                            }
                        },
                        ...
 

Conclusion

Extracting SERP features has never been more important. With the growing number of elements being introduced on a regular basis, digital marketers need a reliable source of data on each and every item of SERPs. On top of that, developers have to keep pace with the constantly changing positioning logic.

With DataForSEO, you can devise an efficient tool fitting your budget and minimize the development effort and timescale. Version three of DataForSEO SERP API supplies a full overview of the results page with the Advanced function. We also offer a free Sandbox feature for testing and integrating our APIs.
TRY SERP API FOR FREE

George Svash

George is the Director of Content Marketing at DataForSEO, an API suite designed to help SEO software companies and agencies gather the SEO data they need for their projects. George is a tech and marketing geek with a deep passion for Big Data and SEO. Having a broad experience in content marketing and a degree in engineering, he is particularly good at explaining complex concepts.

No Comments

Sorry, the comment form is closed at this time.