shortcuts esc
jnext
kprev
oopen
/search
?shortcuts
g hhome
g ssnippets
g llog
g aapi
pinterest download [ plugins esm ]
To download the Pinterest URL link, it seems like it supports videos and photos at the same time.
#Scrape #http
// ===============================================
// Pinterest Downloader Handler
// Professional Version
// Author: Hridoy
// GitHub Version: v1.0
// ===============================================

import axios from 'axios';

async function downloadPinterest(url) {
  const response = await axios.post(
    'https://download.pinload.app/parse',
    { url },
    {
      headers: {
        'Content-Type': 'application/json',
        'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36',
        'Referer': 'https://pinload.app/en/download'
      }
    }
  );
  const data = response.data.data;
  return {
    success: true,
    type: data.type,
    url: data.url,
    thumbnail: data.thumbnail,
    title: data.title
  };
}

const handler = async (m, { conn, args }) => {
  if (!args[0]) return m.reply('Please enter the Pinterest link you want to download');

  const url = args[0];
  const loading = await m.reply('Processing Pinterest link...');

  try {
    const result = await downloadPinterest(url);
    if (!result.success) throw 'Failed to fetch data';

    const caption = `*Pinterest Downloader*

*Title:* ${result.title}
*Type:* ${result.type}
*URL:* ${result.url}`;

    if (result.type === 'video') {
      await conn.sendMessage(
        m.chat,
        { video: { url: result.url }, caption },
        { quoted: m }
      );
    } else {
      await conn.sendMessage(
        m.chat,
        { image: { url: result.url }, caption },
        { quoted: m }
      );
    }

    await conn.sendMessage(
      m.chat,
      { image: { url: result.thumbnail }, caption: 'Thumbnail' },
      { quoted: m }
    );
  } catch (e) {
    console.error(e);
    m.reply('An error occurred while processing the Pinterest link');
  } finally {
    conn.sendMessage(m.chat, { delete: loading.key });
  }
};

handler.help = ['pindl'];
handler.command = /^(pindl|pindownload|pindown)$/i;
handler.tags = ['downloader'];
handler.limit = true;
handler.premium = false;

export default handler;