A Perl job talks to Trends API with one POST to https://api.trendsapi.ai/api, a Bearer key, and a JSON body that names a mode. There is no official Perl module. HTTP::Tiny sends the request. JSON::PP parses the envelope, then parses the body string a second time. Pulled on 2026-09-25, Google Search for perl programming scored 18.0 for the week of 2026-09-19, down 21.74% from 23.0. Bare perl scored 39.0, down 9.3% from 43.0. perl programming YTD was 18.0 versus 30.0, down 40.0%. Bare perl YTD was 39.0 versus 34.0, up 14.71%. Do not copy 39.0 onto 18.0. Do not treat perl 5 Search 18.0, down 58.14% from 43.0, as the language phrase. The same helper that stores those rows also pulls a live Google Trends board; a rank-9 token that weekly Search printed at 33.0 versus 6.0 is documented in Carrot Top live rank versus weekly Search.

How does a Perl client call Trends API?

POST https://api.trendsapi.ai/api
Authorization: Bearer <api_key>
Content-Type: application/json

{"mode":"get_growth","source":"google search","keyword":"perl programming","percent_growth":["7D","30D","3M","12M"]}
use HTTP::Tiny;
use JSON::PP qw(encode_json decode_json);

my $ua = HTTP::Tiny->new;
my $payload = encode_json({
    mode => "get_growth",
    source => "google search",
    keyword => "perl programming",
    percent_growth => ["7D", "30D", "3M", "12M"],
});
my $resp = $ua->request("POST", "https://api.trendsapi.ai/api", {
    headers => {
        Authorization => "Bearer $ENV{TRENDSAPI_API_KEY}",
        "Content-Type" => "application/json",
    },
    content => $payload,
});
my $envelope = decode_json($resp->{content});
# body is a JSON string; parse it a second time
my $inner = decode_json($envelope->{body});

HTTP::Tiny and JSON::PP are core modules. Module docs live at:

https://metacpan.org/pod/HTTP::Tiny
https://metacpan.org/pod/JSON::PP

The response envelope is {"statusCode": int, "body": string}. body is a JSON string and must be parsed a second time before reading recent_value. A PHP client that does the same double parse is on PHP Trends API. A Python client is on Python Trends API.

What did get_growth return for Perl language tokens?

get_growth for perl programming on google search tips on 2026-09-19. Store the exact strings. The language name, the version token, the successor name, and the registry acronym are different series.

Keyword Period Recent date Recent Baseline date Baseline Growth
perl programming 7D 2026-09-19 18.0 2026-09-12 23.0 -21.74%
perl programming 14D 2026-09-19 18.0 2026-09-05 23.0 -21.74%
perl programming 30D 2026-09-19 18.0 2026-08-22 22.0 -18.18%
perl programming 3M 2026-09-19 18.0 2026-06-20 53.0 -66.04%
perl programming 12M 2026-09-19 18.0 2025-09-20 51.0 -64.71%
perl programming YTD 2026-09-19 18.0 2026-01-03 30.0 -40.0%
perl 7D 2026-09-19 39.0 2026-09-12 43.0 -9.3%
perl 14D 2026-09-19 39.0 2026-09-05 42.0 -7.14%
perl 30D 2026-09-19 39.0 2026-08-22 42.0 -7.14%
perl 3M 2026-09-19 39.0 2026-06-20 81.0 -51.85%
perl 12M 2026-09-19 39.0 2025-09-20 50.0 -22.0%
perl YTD 2026-09-19 39.0 2026-01-03 34.0 +14.71%
perl 5 7D 2026-09-19 18.0 2026-09-12 43.0 -58.14%
perl 5 14D 2026-09-19 18.0 2026-09-05 54.0 -66.67%
perl 5 3M 2026-09-19 18.0 2026-06-20 100.0 -82.0%
perl 5 YTD 2026-09-19 18.0 2026-01-03 14.0 +28.57%
raku 7D 2026-09-19 74.0 2026-09-12 83.0 -10.84%
raku 12M 2026-09-19 74.0 2025-09-20 71.0 +4.23%
cpan 7D 2026-09-19 4.0 2026-09-12 5.0 -20.0%
cpan YTD 2026-09-19 4.0 2026-01-03 3.0 +33.33%

get_time_series for perl programming on Google Search closed at 18 on 2026-09-19, matching get_growth 18.0. Adjacent weeks: 23 on 2026-09-12, 23 on 2026-09-05, 15 on 2026-08-29, 22 on 2026-08-22. Peak in this pull is 100 on 2026-05-09, with 74 on 2026-05-02, 64 on 2026-02-28, and 56 on 2026-04-04. Tip 18 is a slide off that May 2026 high, not a new peak. 3M printed -66.04% versus 53.0. A job that alerts on YTD -40.0% versus 30.0 while 3M sits at -66.04% is reading a calendar drop off the January 30 close, not a return to 100.

Bare perl closed at 39.0, down 9.3% from 43.0. 14D was 39.0 versus 42.0 (-7.14%). 30D was 39.0 versus 42.0 (-7.14%). 3M was 39.0 versus 81.0 (-51.85%). 12M was 39.0 versus 50.0 (-22.0%). YTD was 39.0 versus 34.0 (+14.71%). The language name and the programming phrase do not share a YTD sign. Do not copy 39.0 onto 18.0.

perl 5 closed at 18.0, down 58.14% from 43.0. 14D was 18.0 versus 54.0 (-66.67%). 30D was 18.0 versus 42.0 (-57.14%). 3M was 18.0 versus 100.0 (-82.0%). 12M was 18.0 versus 28.0 (-35.71%). YTD was 18.0 versus 14.0 (+28.57%). Do not treat a version 7D -58.14% as language adoption. The programming phrase closed at 18.0 versus 23.0 (-21.74%). The YTD signs diverge: perl 5 +28.57% versus perl programming -40.0%.

raku closed at 74.0, down 10.84% from 83.0. 14D was 74.0 versus 77.0 (-3.9%). 30D was 74.0 versus 80.0 (-7.5%). 3M was 74.0 versus 85.0 (-12.94%). 12M was 74.0 versus 71.0 (+4.23%). YTD was 74.0 versus 78.0 (-5.13%). That successor name closed far above perl programming 18.0. Store it as its own series. Do not copy 74.0 onto 18.0.

cpan closed at 4.0, down 20.0% from 5.0. 3M was 4.0 versus 7.0 (-42.86%). 12M was 4.0 versus 6.0 (-33.33%). YTD was 4.0 versus 3.0 (+33.33%). That registry acronym is a Search series, not package-download volume. There is no CPAN or MetaCPAN source on this API.

Neighbor languages on the same pull, same source, same 7D window:

Keyword 7D recent 7D baseline 7D growth 3M recent 3M baseline 3M growth
perl programming 18.0 23.0 -21.74% 18.0 53.0 -66.04%
perl 39.0 43.0 -9.3% 39.0 81.0 -51.85%
python programming 47.0 38.0 +23.68% 47.0 89.0 -47.19%
php programming 6.0 7.0 -14.29% 6.0 26.0 -76.92%
ruby programming 3.0 3.0 0.0% 3.0 9.0 -66.67%
bash programming 25.0 30.0 -16.67% 25.0 71.0 -64.79%

Do not copy python programming 47.0 or bash programming 25.0 onto perl programming 18.0. python programming 12M was 47.0 versus 26.0 (+80.77%). perl programming 12M was 18.0 versus 51.0 (-64.71%). Same calendar, opposite 12M sign. python programming YTD was 47.0 versus 21.0 (+123.81%). php programming 12M was 6.0 versus 12.0 (-50.0%). php programming YTD was 6.0 versus 7.0 (-14.29%). ruby programming 12M was 3.0 versus 4.0 (-25.0%). ruby programming YTD was 3.0 versus 2.0 (+50.0%). bash programming 12M was 25.0 versus 36.0 (-30.56%). bash programming YTD was 25.0 versus 32.0 (-21.88%). A Ruby Trends API helper stores that neighbor on the same 7D window. A PowerShell Trends API helper stores a shell string the same way.

What did YouTube, News, and Wikipedia return?

YouTube for perl programming rose the week Search fell. Keyword Google News printed zeros. Wikipedia titles resolve on their own. Compare Wikipedia on volume.

YouTube get_growth for perl programming tipped 56.0 on 2026-09-19 versus 5.0 on 7D (+1020.0%). 14D, 3M, 12M, and YTD printed growth 999999 versus 0.0. Report 56.0 versus 0.0. 30D was 56.0 versus 55.0 (+1.82%). get_time_series closed at 56 on 2026-09-19, matching get_growth. Adjacent weeks: 5 on 2026-09-12, 0 on 2026-09-05, 0 on 2026-08-29, 55 on 2026-08-22. Peak in this pull is 100 on 2022-06-18, with 88 on 2025-11-22, 86 on 2023-03-04, and 81 on 2022-12-03. Tip 56 is not that June 2022 spike. YouTube 56.0 is not Search 18.0. Do not treat a YouTube 7D +1020.0% as the Search 7D -21.74%. The 7D signs are opposite.

Keyword Google News for perl programming tipped 0.0 versus 0.0 on 7D through YTD. The payload marked data_quality low with a warning that the underlying signal is over 90% zeros. Store the zeros. Do not fill News from Search 18.0. Keyword News and the Google News Top News board are different feeds. Mode docs sit at https://trendsapi.ai/docs.

Wikipedia for Perl resolved to Perl. 7D and 14D collapsed (collapsed_range: recent and baseline resolved to the same monthly point). August 2026 scored 49.1 with 16,219 pageviews versus July 47.1 with 15,689 (score +4.25%, volume +3.38%). 3M was 49.1 / 16,219 versus May 40.5 / 13,938 (volume +16.37%). 12M was 49.1 / 16,219 versus August 2025 42.8 / 14,539 (volume +11.56%). YTD was 49.1 / 16,219 versus January 33.0 / 11,966 (volume +35.54%). Peak in this pull is 100.0 / 29,672 in November 2022, with 72.0 / 22,263 in March 2022, 70.8 / 21,964 in May 2022, and 68.6 / 21,383 in November 2025. Tip 16,219 views is not that November 2022 high. Compare Wikipedia on volume. Do not join 16,219 views onto Search 18.0. Wikipedia source docs sit at https://trendsapi.ai/trends/wikipedia-trends.

There is no CPAN or MetaCPAN registry source on this API. npm covers npmjs. python covers PyPI. A Perl watchlist that wants CPAN downloads has no third source to join onto Search 18.0. cpan Search 4.0 is still a Search series, not registry volume.

How does a watchlist store live boards next to weekly scores?

get_top_trends has no keyword. Pair the live Google Trends board with get_growth on the exact board string. Live rank, 1-day rank_change, and 7-day rank_change are three feeds.

POST https://api.trendsapi.ai/api
Authorization: Bearer <api_key>
Content-Type: application/json

{"mode":"get_top_trends","type":"Google Trends","limit":25}

On 2026-09-25T10:01:33Z the live Google Trends board ranked carrot top at 9. The 1-day rank_change sort returned 25 rows (baseline 2026-09-24T02:01:41Z) and printed +12 from prev_rank 21. The 7-day sort returned 7 rows (baseline 2026-09-18T02:01:34Z) and omitted the token. Weekly Search for that exact string scored 33.0 versus 6.0, up 450.0%. The helper that stores those rows is the blog in this batch: Carrot Top live rank versus weekly Search. Board-shape notes for Google Trends live feeds sit at https://trendsapi.ai/trends/google-trends.

Free tier is 100 successful 200s per month. Only 200 responses count against quota. Six language tokens plus one live board is 7 calls. A Monday run that also pulls YouTube and Wikipedia for the programming phrase is 9 calls. Four weeks is 36 calls and still fits the free cap. Starter is 5,000, Pro 25,000, Business 100,000.

Envelope checklist

  1. POST https://api.trendsapi.ai/api with Authorization: Bearer <api_key>.
  2. Parse the transport JSON, then parse the body string a second time.
  3. Store perl, perl programming, perl 5, raku, and cpan as separate series.
  4. Compare Wikipedia Perl on volume (16,219 August views), not on 49.1.
  5. Pair get_top_trends rank with both rank_change windows and get_growth on the exact board string.

A PHP client that uses the same envelope is on PHP Trends API.