I built a LinkedIn API for LinkedIn Growth Hacking

I built a LinkedIn API for LinkedIn Growth Hacking

Yesterday, I set myself the project of. building my own LinkedIn API as I was tired with the lack of updates with Phantombuster.

I’m not a developer, I have a technical understanding and I genuinely thought I would make a Youtube series out of this. To my surprise, in less than 24 hours I’ve built my own fully functioning API that you can use for free.

The tool is built with Node.js, Express and Puppeteer! I’ve learned a hell of a lot building the tool, I documented the whole process building from scratch. The videos are pretty long and there’s about 6 hours of content, a lot of it is me concentrating but it also involves some funny moments of me getting excited when things actually work!

I’m genuinely thrilled that I’ve taught myself this, because I can now build literally any Automation I want. I will still continue to use a lot of the APIs that I do already, but I currently spend $12,000+/yr on Phantombuster, so this API alone will drop that by 90%.

Tools in this Video
// 🤖Build Automations with Integromat: https://growth-hacking.io
// 🔥LinkedIn Integromat Plugin – https://growth-hacking.io

My Companies
// 📈LinkedIn Engagement Pods MVP: https://bit.ly/2wnVOEB
// 🔥600+ Growth Hacking Guides – https://growth-hacking.io/growth-hacking-guides
// 🎁 30+ Website Plugins – https://notifia.io (Discount: 90DAYSFREE)
// 🔥LinkedIn Automation – https://growth-hacking.io

Tools I love
// 👨‍💻Airtable – https://airtable.com/invite/r/2eJLSiJT
// 🌏LinkedIn Proxies – https://bit.ly/2WdlVah
// 🤖Integromat – https://integromat.com

// 🤞Subscribe on YouTube – http://bit.ly/GrowthHackingYoutubeD
// 👨‍💻 Connect on LinkedIn – https://www.linkedin.com/in/nath-aston/

Source. First Published on YouTube

Growth Hacking Articles

Shopify api release april 2020

April 2020 — Shopify API

Welcome to the April 2020 edition of our API features roundup, designed to help you understand how all the changes of our latest API release can be adopted to improve the quality of your apps.

Most of the changes in our 2020-01 release focused on merchandising, and order and fulfillment flows. This quarter’s release, however, includes the introduction of duty and tax calculation, as well as updates to the Storefront API.

Let’s dig into the changes in the 2020-04 release by discovering new features and validation at checkout, and additional fields in Storefront API objects.

Released as part of 2020-04

Below are the features included in the 2020-04 release.

1. Duty and tax calculation

For merchants selling internationally, allowing buyers to pay duties in the checkout can reduce the risk of delayed orders at customs, added shipment costs, and buyers rejecting shipments.

The 2020-04 version introduces a Duties and taxes developer preview that gives you an early look at how your clients will be able to provide total cost clarity to their buyers using estimated duties and taxes at checkout. This will not only help your users’ customers pay for duties at checkout, but will also allow you to surface duties and taxes in your app’s workflows.

NOTE: Duty and tax estimates are placeholder values while the feature is in developer preview.

Shopify api release april 2020: shipping method

This release allows apps to read the duties paid on an order through the REST and GraphQL Admin API, and refund them through the GraphQL API. Refunds and order line items with duties now have a duties field. Orders will also feature original_total_duties_set as well as the current_total_duties_set after refunds. 

Most importantly, the total_price_set on orders now includes any duties that have been paid during checkout across all API versions. Once this feature launches to merchants, all stores that enable duty and tax calculation will include duties in order totals by default and refunds will need to process duty returns on applicable orders.

Shopify api release april 2020: API version roundup

To learn more about refunding duty and tax information through the API and how you can update your app to include duties, check out our tutorial.

2. Adding validation around compare at pricing

To enable apps to trust the relationship between the compare_at_price and price field values on variants, we’re adding validation to ensure that the compare price is always higher than the actual price. This change allows apps to surface the compare_at_price in new areas (like on a receipt) without worrying about odd values.

Validation only applies when modifying one of these fields, so apps using libraries that pass entire objects don’t encounter the validation when modifying an unrelated field, such as the variant’s weight.

To see the new validation in action, visit our versioning guide

3. Storefront API additional fields on products and orders

In the 2020-01 version, we introduced order editing, allowing apps to help manage all aspects of orders on a shop, including edits to line items on existing orders. The Storefront API Order object has been updated to reflect these new features and includes new fields to help you display orders on custom storefronts accurately—even after they’ve been edited.

The new Storefront Order object includes LineItem objects as well as order edit information, fulfillment status, and pricing details.

As part of the 2020-04 version, the Storefront API also exposes new fields to support translations and internationalization, and inventory status and counts.

You can read all about the new Storefront API fields in our release notes.

4. Exposing rich media filenames

In the last API version, we introduced a media connection for products in GraphQL. In order to make it easier to work with rich media files, we’re exposing media filenames with two new fields: expose_video_filename and expose_model3d_filename.

To learn more about how to use this connection and start including richer media experiences on the product page, visit our guide on working with product media.

2019-04 version removal postponement

As mentioned in our recent post on How Shopify Partners are Responding to COVID-19, we’ve decided to postpone the 2019-04 version removal to July 1, 2020, so that you can focus on helping merchants and other partners in these challenging times. Instead, both 2019-04 and 2019-07 API versions will be removed on July 1st. 

This postponement also means that the move from page-based to cursor-based pagination will come into effect for all endpoints on July 1, which should simplify the migration process for your apps. You can find more information on how to migrate your app in our post on how to use relative pagination in your app.

For those of you who’ve already put in the time and energy to update, we want to say thank you for your diligence and understanding in the extension—your efforts haven’t gone to waste. You’re now ahead of the game, and can focus on more pressing matters for your business, clients, and app users.

Stay on top of changes

To stay up to date with the changes coming to the next release, remember to subscribe to the Developer Changelog so that you can start using features as soon as they ship into the release candidate for 2020-07. You can also subscribe to What’s New for Shopify Partners, our monthly product email, via the link below.

Template Icon

This content was originally published on Source link, we are just re-sharing it.

All Growth Hacking Articles

How to Query the Google Search Console API

How to Query the Google Search Console API

If you’ve been an SEO for even a short time, you’re likely familiar with Google Search Console (GSC). It’s a valuable tool for getting information about your website and its performance in organic search. That said, it does have its limitations.

In this article, you’ll learn how to get better-connected data out of Google Search Console as well as increase the size of your exports by 400%.

Google Search Console limitations

While GSC has a number of sections, we’ll be focusing on the “Performance” report. From the GSC dashboard, there are two ways you can access this report:

Once inside the “Performance” report, data for queries and pages can be accessed:

This reveals one of the issues with GSC: Query and page data is separated.

In other words, if I want to see the queries a specific page is ranking for, I have to first click “Pages,” select the page, and then click “back” to “Queries.” It’s a very cumbersome experience.

The other (two-part) issue is with exporting:

  • Performance data for queries and pages must be exported separately.
  • Exports are limited to 1,000 rows.

We’ll look to solve these issues by utilizing the GSC API.

What is the Google Search Console API?

Now we know the GSC user interface does have limitations: Connecting query data with page data is tricky, and exports are limited.

If the GSC UI represents the factory default, the GSC API represents our custom settings. It takes a bit more effort, but gives us more control and opens up more possibilities (at least in the realm of query and page data).

The GSC API is a way for us to connect to the data within our account, make more customized requests, and get more customized output. We can even bypass those factory default settings like exports limited to 1,000 rows, for instance.

Why use it?

Remember how I said earlier that query and page data is separated in the “vanilla” GSC UI? Well, with the API, we can connect query data with the page that query ranks for, so no more clicking back and forth and waiting for things to load.

Additionally, we saw that exports are limited to 1,000 rows. With the API, we can request up to 5,000 rows, an increase of 400%!

So let’s hook in, make our request, and get back a more robust and meaningful data set.


Log in to the appropriate GSC account on this page (upper right corner). For instance, if my website is example.com and I can view that Search Console account under [email protected], that’s the account I’ll sign into.

Enter the URL of the appropriate GSC account:

Set up your request:

  1. Set startDate. This should be formatted as: YYYY-MM-DD.
  2. Set endDate.
  3. Set dimensions. A dimension can be:
      • query
      • page
      • device
      • and/or country
  4. Set filters (optional). A filter must include:
      • dimension (a dimension can be: query, page, device, or country)
      • operator (an operator can be: contains, notContains, equals, notEquals)
      • expression (an expression can be any value associated with the dimensions)
    1. Set the rowLimit. With the GSC API, you can request up to 5,000!
    2. The page shared in step one makes all of this setup pretty easy, but it can be tedious and even confusing for some. I’ve done all the fussing for you and have created JSON you can edit quickly and easily to get the API return you’d like.

      Unfiltered request

      The following request will be unfiltered. We’ll set our preferred dates, dimensions, and a row limit, and then make our request.

      The order in which you place your dimensions is the order in which they’ll be returned.

      The API will return data for desktop, mobile, and tablet, separated out. The numbers you see in the GSC user interface — clicks, for instance — are an aggregate of all three (unless you apply device filtering).

      Remember, your dimensions can also include “country” if you’d like.


      “startDate”: “2019-11-01”,

      “endDate”: “2020-01-31”,







      “rowLimit”: 3000


      Filtered request

      This version of our request will include filters in order to be more specific about what is returned.

      Filters are stated as dimension/operator/expression. Here are some examples to show what’s possible:

      • query contains go fish digital
      • page equals https://gofishdigital.com/
      • device notContains tablet

      It looks like you can only apply one filter per dimension, just like in the normal GSC user interface, but if you know differently, let us know in the comments!


      “startDate”: “2019-11-01”,

      “endDate”: “2020-01-31”,













      “dimension”: “device”,

      “operator”: “notContains”,

      “expression”: “tablet”





      “rowLimit”: 3000


      Choose a template, unfiltered or filtered, and fill in your custom values (anything after a colon should be updated as your own value, unless you like my presets).

      Execute the request

      So there you have it! Two request templates for you to choose from and edit to your liking. Now it’s time to make the request. Click into the “Request body”, select all, and paste in your custom JSON:

      This is where you could manually set up your request keys and values, but as I stated earlier, this can be tedious and a little confusing, so I’ve done that work for you.

      Scroll down and click “Execute.” You may be prompted to sign-in here as well.

      If everything was entered correctly and the request could be satisfied, the API will return your data. If you get an error, audit your request first, then any other steps and inputs if necessary.

      Click into the box in the lower right (this is the response from the API), select all, and copy the information.

      Convert from JSON to CSV

      Excel or Sheets will be a much better way to work with the data, so let’s convert our JSON output to CSV.

      Use a converter like this one and paste in your JSON output. You can now export a CSV. Update your column headers as desired.

      Query your own data

      Most SEOs are pretty comfortable in Excel, so you can now query your request output any way you’d like.

      One of the most common tasks performed is looking for data associated with a specific set of pages. This is done by adding a sheet with your page set and using VLOOKUP to indicate a match.

      The API output being in a spreadsheet also allows for the most common actions in Excel like sorting, filtering, and chart creation.

      Get more out of Google Search Console

      GSC offers important data for SEOs, and the GSC API output offers not only more of that data, but in a format that is far less cumbersome and more cohesive.

      Today, we overcame two obstacles we often face in the standard GSC user interface: the query/page connection and limited exports. My hope is that utilizing the Google Search Console API will take your analyses and insights to the next level.

      While my JSON templates will cover the most common scenarios in terms of what you’ll be interested in requesting, Google does offer documentation that covers a bit more ground if you’re interested.

      Do you have another way of using the GSC API? Is there another API you commonly use as an SEO? Let me know in the comments!

This content was originally published on Source link, we are just re-sharing it.

All Growth Hacking Articles

Api deprecation

What You Need to Know — Shopify API

Before we introduced API versioning at Shopify in April 2019, apps could only interact with the latest and greatest form of our APIs. As we released features to merchants, the APIs tied to these features also evolved, and apps had to quickly adapt to the new way of doing things to ensure they kept working.

This developer experience was not ideal. It wasn’t obvious how to find out if your app would break on any given day, and these changes would totally overtake your own development roadmaps. To solve this, we introduced API versioning to provide stability and a scheduled cadence to our releases.

As we near the one-year mark of shipping versioning, let’s review how it all works, and what you need to look out for in 2020.

How versioning works

To get started, let’s recap the fundamentals of API versioning at Shopify.

1. We release a version every quarter

Typically, these releases happen on or around January 1st, April 1st, July 1st, and October 1st. Versions are named in a year-month format (eg. 2020-01), ensuring that it will always be easy to identify the time the version became stable, as well as compare the timelines of multiple versions.

Api deprecation: Graph of the API versioning schedule
The API versioning schedule.

2. Apps make requests to a specific version of the API by specifying it in the request URL

While the Shopify APIs continuously evolve, apps can choose a stable version to build on to ensure that the API contract remains constant. Keep in mind that this means that any features released after your targeted version won’t be accessible until you update your request URL.

3. We release features to merchants continuously

To ship features without affecting the latest stable APIs, we use the concept of the release candidate. The release candidate is simply the next API version, and can be targeted for requests using the same year-month format. In it, you’ll find the latest set of features that have just been released. Since the release candidate is continuously evolving, you should avoid using it for your app’s general everyday consumption of the API. 

To have both the benefit of stability and access to the latest features, we recommend keeping your app’s everyday requests on a stable version, and that you only move specific calls that deal with newly released features to the release candidate.

4. Apps that do not request a specific version are served the oldest supported version

This allows existing apps to continue functioning when we shipped versioning, without having to update to the new URLs. This concept also applies to apps explicitly calling versions that are no longer supported. 

For example, if your app continues to request 2019-04 after it has become unsupported, you will be served the oldest supported version, which would be 2019-07.

5. Versions are supported for one year

Removing support for versions allows us to stay agile and make the changes needed to best serve our merchants and the Shopify platform for the long term. While versions are supported for 1 year, this means that apps actually only have 9 months to adopt these new changes and take advantage of new features before the old behavior is no longer available.

Now that we’ve gone over the basics of how API versioning works at Shopify, let’s review some key information you need to know for 2020.

You might also like: How to Get More App Downloads in the Shopify App Store.

Unsupported versions

The timing of this post is no coincidence. As we near the one-year mark since we introduced versioning, we’re also approaching the first time we’ll make a version of our API unsupported. 

This means that on April 1, 2020, the following changes will come into effect on our APIs:

  • The 2019-04 version will become unsupported.
  • Requests with no API version specified will be served the 2019-07 API version.
  • Requests for the 2019-04 version will no longer receive 2019-04. Instead, these requests will fall forward to 2019-07.
  • Webhooks set to 2019-04 will fall forward in the same manner.
  • The 2020-04 version will become stable and ready for general usage.

Most importantly, the 2019-07 API version, which will become the default version, includes breaking API changes. If your app is making requests that would break in 2019-07, you need to take action and migrate those requests before April 1, 2020. Failure to do so will result in failed requests and a broken app. 

To minimize merchant impact, if your apps continue to use unsupported APIs after April 1, Shopify may notify merchants that your apps are no longer supported. In some cases, we may de-list apps from the Shopify App Store.

Let’s dive into each of the breaking changes introduced in 2019-07.

Breaking changes

Below are each of the breaking changes being introduced in April. If your app uses any of the below, you’ll want to update to avoid your app breaking.

1. Pagination

Page-based pagination has been removed, and has been replaced with cursor-based pagination.

You can read more about relative pagination in this great blog post.

The takeaway: Stop using the page parameter. Use page_info instead.

2. Featured field removed from Collects

The featured field was removed from the collects endpoint.

Even if you aren’t using this specific field, REST returns everything by default. Because of this, you’ll receive notifications about this deprecation when using the collect endpoint. 

The takeaway: Update your request URL to API version 2019-07 or later. 

3. GraphQL Admin ID added to webhooks

We added the graphql_admin_id to webhook payloads, to make it easier to make GraphQL calls in response, and to be more consistent with our REST payloads. This caused issues in older versions of Rails apps. Even if you aren’t using Rails, it’s good practice to periodically keep your webhook API version up to date to ensure your payloads don’t change when your current version becomes unsupported.

The takeaway: Update your webhook API version to API version 2019-07 or later.

Stay on top of changes

Knowing about upcoming changes is a good start, but in many cases, it can be difficult to identify individual breaking requests within your whole app. To help narrow these down, we’ve introduced the following tools that automatically generate data based on your API usage.

1. API Health

Your Partner Dashboard contains a per-app API Health report, which showcases the exact changes that will affect you. In it, you’ll find the specific endpoints, links to migration guides, and last detected timestamps of deprecated requests. 

2. Deprecation headers

Within your app, you should also monitor incoming changes by logging the presence of the X-Shopify-API-Deprecated-Reason header. This header is added to requests that are deprecated and that will be unsupported within 9 months. You should update your request as per the link returned in the header.

3. Email

Every app has an associated emergency developer email that we use to notify you about pending deprecations. In these emails, you’ll find information that is very similar to the API Health report. Since private apps aren’t associated with a partner account, this is the main way these types of apps have of being notified about changes that will affect them.

Get ready for April 1, 2020

We recognize that every change we bring to the platform is an effort we’re asking of our partners. With versioning, we’ve hopefully made that process more predictable, and a little less chaotic. 

This April, ensure your apps are ready for our first-ever version deprecation, where we bid farewell to 2019-04, and where 2019-07 will become the oldest supported version. 

Check out the 2019-07 release notes for the full set of changes, or your Partner Dashboard to see which changes affect you.

Source link

All Growth Hacking Articles