Skip to main content

SE::Pinterest - Pinterest search results scraper


Overview of the scraper

Scraper of Pinterest search results. Thanks to the SE::Pinterest scraper, you can get databases of image links or images ready for further use. You can also scrape domain databases or texts for further text generation. You can use queries in the same way you enter them in the Pinterest search bar.

Thanks to the multi-threading of A-Parser, the processing speed can reach more than 4000 requests per minute, which on average allows you to get about 100000 results per minute.

Overview: speed of operation

The functionality of A-Parser allows you to save the settings of the Pinterest scraper for further use (presets), set a scraping schedule, and much more. You can use automatic query multiplication, substitution of subqueries from files, permutation of alphanumeric combinations and lists to get the maximum possible number of results.

Saving results is possible in the form and structure that you need, thanks to the built-in powerful template engine Template Toolkit which allows you to apply additional logic to the results and output data in various formats, including JSON, SQL, and CSV.

Use cases for the scraper

A-Parser allows you to use a chain of tasks, upon completion of the first, the second will start, with the links from the first task being used as requests for the second one

Download example

How to import an example into A-Parser


Data collected

  • Titles and descriptions of pins
  • Links to images
  • Domains and links to the source
  • Pin ID
  • Name and username of the author and pinner


  • Scrapes up to 100 search result pages
  • Supports specifying the required number of pages

Use cases

  • Collecting images for filling your blogs
  • Collecting textual data for text generation
  • Any other variants using Pinterest data


As queries, you need to specify search phrases, for example:

Speak in english
Cats and dogs

Query substitutions

You can use built-in macros for query multiplication, for example, we want to get a very large database of forums, we will specify several main queries in different languages:


In the query format, we will specify a permutation of characters from a to zzzz, this method allows you to maximally rotate the search output and get many new unique results:

$query {az:a:zzzz}

This macro will create 475254 additional queries for each original search query, which in total will give 4 x 475254 = 1901016 search queries, an impressive figure, but this is not a problem for A-Parser. At a speed of 2000 requests per minute, such a task will be processed in just 16 hours.

Output results examples

A-Parser supports flexible formatting of results thanks to the built-in template engine Template Toolkit, which allows it to output results in any form, as well as in structured ones, for example CSV or JSON

Default Output

Result format:


Example of result:

Output to CSV Table

Result format:

[% FOREACH item IN serp;
tools.CSVline(query,, item.pinner_username, item.title,;
END %]

Example of result:

"Speak in english ",,,"Great Ways to Start a Sentence",289637819794664055
"Speak in english ",,,"23 Fotos, die dich zur Weißglut bringen, wenn du gerade Deutsch lernst",84653667980063381
"Speak in english ",,,"Great Ways to Start a Sentence",307089268347214342
"Speak in english ",,,"Englisch lernen: W-Fragen!",13792342597188564
"Speak in english ",,,"Avengers - I have a pen spoof | ""Pen Pineapple Apple Pen""",609604499561518518
"Speak in english ",,,"Picture Dictionary: All about English Vocabulary + Word Banks! Englisch Wörterbuch/Vokabeln UK & USA",19210735900566228
"Speak in english ",,,"Beginner Conversation Bubbles | Tafelmaterial Englisch Unterricht Grundschule & Klasse 5",314477986488878805
"Speak in english ",,,Twitter,1829656081959551
"Speak in english ",,,"Wow! Englische Redewendungen, die du immer anwenden kannst",82612974406076695

Saving in SQL Format

Result format:

[% FOREACH serp;
"INSERT INTO serp VALUES('" _ query _ "', '";
link _ "', '";
image _ "', '";
pinner_username _ "')\n";
END %]

Example of result:

INSERT INTO serp VALUES('Speak in english ', '', '', '')
INSERT INTO serp VALUES('Speak in english ', '', '', '')
INSERT INTO serp VALUES('Speak in english ', '', '', 'TEFLcourse')
INSERT INTO serp VALUES('Speak in english ', '', '', 'sprachheld')
INSERT INTO serp VALUES('Speak in english ', '', '', '')
INSERT INTO serp VALUES('Speak in english ', '', '', 'unterrichtmitspass')
INSERT INTO serp VALUES('Speak in english ', '', '', '')
INSERT INTO serp VALUES('Speak in english ', '', '', '')
INSERT INTO serp VALUES('Speak in english ', '', '', 'lernlotsen')

Dump Results to JSON

Общий формат результата:

[% IF notFirst;
notFirst = 1;

obj = {};
obj.query = query;
obj.images = [];

FOREACH item IN p1.serp;
title = item.title
pinner_username = item.pinner_username
link =
image = item.image

obj.json %]

Начальный текст:


Конечный текст:


Example of result:

"query": "Speak in english",
"images": [
"link": "",
"author": "",
"title": "Great Ways to Start a Sentence",
"image": ""
"link": "",
"author": "",
"title": "23 Fotos, die dich zur Weißglut bringen, wenn du gerade Deutsch lernst",
"image": ""
"link": "",
"author": "TEFLcourse",
"title": "Great Ways to Start a Sentence",
"image": ""

To make the "Start text" and "End text" options available in the Task Editor, you need to activate "More options".

Possible Settings

ParameterDefault ValueDescription
Pages count5Number of pages to scrape