An Objective-C 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 CocoaPods package. NSURLSession sends the request. NSJSONSerialization parses the envelope, then parses the body string a second time. Pulled on 2026-09-28, Google Search for objective-c scored 19.0 for the week of 2026-09-26, down 9.52% from 21.0. objective c scored 46.0, up 15.0% from 40.0. objc scored 24.0, up 9.09% from 22.0. Do not copy 46.0 onto 19.0. Do not treat cocoa Search 67.0, up 15.52% from 58.0, as the language token. The same helper that stores those rows also pulls a live Google Trends board; a rank-12 token that weekly Search printed at 21.0 versus 7.0 is documented in Cornell University live rank versus weekly Search.

How does an Objective-C 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":"objective-c","percent_growth":["7D","30D","3M","12M"]}
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSString *key = [[[NSProcessInfo processInfo] environment] objectForKey:@"TRENDSAPI_API_KEY"];
        NSURL *url = [NSURL URLWithString:@"https://api.trendsapi.ai/api"];
        NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
        [req setHTTPMethod:@"POST"];
        [req setValue:[NSString stringWithFormat:@"Bearer %@", key] forHTTPHeaderField:@"Authorization"];
        [req setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
        NSString *payload = @"{\"mode\":\"get_growth\",\"source\":\"google search\",\"keyword\":\"objective-c\",\"percent_growth\":[\"7D\",\"30D\",\"3M\",\"12M\"]}";
        [req setHTTPBody:[payload dataUsingEncoding:NSUTF8StringEncoding]];

        dispatch_semaphore_t sem = dispatch_semaphore_create(0);
        NSURLSessionDataTask *task = [[NSURLSession sharedSession] dataTaskWithRequest:req completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
            NSInteger code = [(NSHTTPURLResponse *)response statusCode];
            if (code != 200) { dispatch_semaphore_signal(sem); return; }
            NSDictionary *envelope = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
            // body is a JSON string; parse it a second time
            NSData *innerData = [envelope[@"body"] dataUsingEncoding:NSUTF8StringEncoding];
            id inner = [NSJSONSerialization JSONObjectWithData:innerData options:0 error:nil];
            NSLog(@"%@", inner);
            dispatch_semaphore_signal(sem);
        }];
        [task resume];
        dispatch_semaphore_wait(sem, dispatch_time(DISPATCH_TIME_NOW, 30LL * NSEC_PER_SEC));
    }
    return 0;
}

The first mistake most clients make is treating the body field as an object after one parse. It is still a JSON string. Parse the envelope, then parse body a second time. Library docs:

https://developer.apple.com/documentation/foundation/nsurlsession
https://developer.apple.com/documentation/foundation/nsjsonserialization

Free tier allows 100 successful requests per month. Only HTTP 200 responses count against quota. Starter is 5,000, Pro is 25,000, Business is 100,000. There is no Objective-C-specific source on this API. npm covers npmjs package names. python covers PyPI project names. A watchlist that needs CocoaPods or Swift Package Index download counts has to pull those from somewhere else. A Swift sibling of this helper is on Swift Trends API. A Kotlin sibling is on Kotlin Trends API.

What did get_growth return for Objective-C language tokens?

get_growth for objective-c on google search tips on 2026-09-26. Store the exact strings. The hyphenated language name, the spaced phrase, the concatenated token, the programming phrase, the IDE token, and the cocoa token are different series.

Keyword Period Recent date Recent Baseline date Baseline Growth
objective-c 7D 2026-09-26 19.0 2026-09-19 21.0 -9.52%
objective-c 14D 2026-09-26 19.0 2026-09-12 39.0 -51.28%
objective-c 30D 2026-09-26 19.0 2026-08-29 22.0 -13.64%
objective-c 3M 2026-09-26 19.0 2026-06-27 48.0 -60.42%
objective-c 12M 2026-09-26 19.0 2025-09-27 17.0 +11.76%
objective-c YTD 2026-09-26 19.0 2026-01-03 9.0 +111.11%
objective c 7D 2026-09-26 46.0 2026-09-19 40.0 +15.0%
objective c 14D 2026-09-26 46.0 2026-09-12 56.0 -17.86%
objective c 30D 2026-09-26 46.0 2026-08-29 39.0 +17.95%
objective c 3M 2026-09-26 46.0 2026-06-27 73.0 -36.99%
objective c 12M 2026-09-26 46.0 2025-09-27 45.0 +2.22%
objective c YTD 2026-09-26 46.0 2026-01-03 27.0 +70.37%
objc 7D 2026-09-26 24.0 2026-09-19 22.0 +9.09%
objc 14D 2026-09-26 24.0 2026-09-12 42.0 -42.86%
objc 3M 2026-09-26 24.0 2026-06-27 54.0 -55.56%
objc 12M 2026-09-26 24.0 2025-09-27 31.0 -22.58%
objc YTD 2026-09-26 24.0 2026-01-03 18.0 +33.33%
objective-c programming 7D 2026-09-26 21.0 2026-09-19 14.0 +50.0%
objective-c programming 3M 2026-09-26 21.0 2026-06-27 50.0 -58.0%
xcode 7D 2026-09-26 48.0 2026-09-19 56.0 -14.29%
xcode 30D 2026-09-26 48.0 2026-08-29 32.0 +50.0%
xcode 3M 2026-09-26 48.0 2026-06-27 93.0 -48.39%
xcode 12M 2026-09-26 48.0 2025-09-27 91.0 -47.25%
xcode YTD 2026-09-26 48.0 2026-01-03 43.0 +11.63%
cocoa 7D 2026-09-26 67.0 2026-09-19 58.0 +15.52%
cocoa 12M 2026-09-26 67.0 2025-09-27 60.0 +11.67%
cocoa YTD 2026-09-26 67.0 2026-01-03 69.0 -2.9%

get_time_series for objective-c on Google Search closed at 19 on 2026-09-26, matching get_growth 19.0. Adjacent weeks: 21 on 2026-09-19, 39 on 2026-09-12, 43 on 2026-09-05, 22 on 2026-08-29. Peak in this pull is 100 on 2026-05-16, with 84 on 2026-05-09, 69 on 2026-05-02, and 66 on 2026-06-06. Tip 19 is a slide off that May 2026 high, not a new peak. 3M printed -60.42% versus 48.0. 14D printed -51.28% versus 39.0. 7D printed -9.52% versus 21.0. YTD printed +111.11% versus 9.0. A job that alerts on 7D -9.52% while YTD sits at +111.11% is reading a one-week dip, not a year-to-date drop.

objective c closed at 46.0, up 15.0% from 40.0. 7D signs diverge: spaced +15.0% versus hyphenated -9.52%. 30D signs also diverge: spaced +17.95% versus hyphenated -13.64%. Do not copy 46.0 onto objective-c 19.0. objc closed at 24.0, up 9.09% from 22.0. 12M was 24.0 versus 31.0 (-22.58%) while hyphenated 12M was +11.76%. objective-c programming closed at 21.0, up 50.0% from 14.0. The payload marked data_quality low. 14D printed growth 999999 versus 0.0. Report 21.0 versus 0.0. Do not alert language adoption off a sparse programming-phrase 7D move.

xcode closed at 48.0, down 14.29% from 56.0. 30D was 48.0 versus 32.0 (+50.0%). 3M was 48.0 versus 93.0 (-48.39%). A job that alerts "Objective-C is down" off Xcode 7D is reading the IDE series. cocoa closed at 67.0, up 15.52% from 58.0, with estimated Search volume 4,300,000 versus 3,720,000. 12M was 67.0 versus 60.0 (+11.67%). That token is a commodity series, not a framework series. Do not copy 67.0 onto objective-c 19.0. There is no CocoaPods source. cocoa Search 67.0 is still a Search series, not registry volume.

Neighbors this session: swift programming Search 17.0, down 10.53% from 19.0, 12M 17.0 versus 35.0 (-51.43%), YTD 17.0 versus 24.0 (-29.17%). python programming Search 27.0, down 44.9% from 49.0, 12M 27.0 versus 26.0 (+3.85%). kotlin Search 30.0, down 11.76% from 34.0, 12M 30.0 versus 62.0 (-51.61%), YTD 30.0 versus 30.0 (0.0%). A Python client that does the same double parse is on Python Trends API. A VBA WinHttp sibling is on VBA Trends API.

How do YouTube, News, and Wikipedia disagree with Search?

YouTube get_growth for objective-c closed at 9.0 versus 9.0 (0.0%). The payload marked data_quality low. get_time_series closed at 9, matching growth. Adjacent weeks: 9 on 2026-09-19, 0 on 2026-09-12, 0 on 2026-09-05, 0 on 2026-08-29. Peak in this pull is 100 on 2025-12-13, with 97 on 2022-06-18, 93 on 2026-07-11, and 91 on 2026-07-25. The series is mostly zeros. 14D printed growth 999999 versus 0.0. Report 9.0 versus 0.0. 7D signs: YouTube flat at 9.0 versus Search -9.52%. Store the low-quality flag. Do not fill YouTube from Search 19.0.

Google News for objective-c returned 502 source_unavailable on two tries this session. Store the miss. Do not fill News from Search 19.0. Keyword objective c on Google News printed 0.0 versus 0.0 on 7D, 14D, 12M, and YTD, with data_quality low. Keyword News and the Google News Top News board are different feeds. Source docs for Search sit at Google Trends.

Wikipedia get_growth for Objective-C resolved to Objective-c. August 2026 scored 3.4 with 50 pageviews versus July 1.5 with 24 pageviews (score +126.67%, volume +108.33%). 3M was 3.4 / 50 versus May 2.6 / 38, volume +31.58%. 12M was 3.4 / 50 versus August 2025 2.5 / 37, volume +35.14%. YTD was 3.4 / 50 versus January 3.0 / 44, volume +13.64%. 7D and 14D collapsed to the same monthly point. Peak in this pull is 100.0 / 1,366 in February 2022. Fifty August views is not the high-traffic language article. Compare Wikipedia on volume. Do not join 50 pageviews onto Search 19.0. Source docs for Wikipedia sit at Wikipedia Trends.

How does an Objective-C job pull a live board?

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

{"mode":"get_top_trends","type":"Google Trends","limit":25}
NSString *board = @"{\"mode\":\"get_top_trends\",\"type\":\"Google Trends\",\"limit\":25}";
[req setHTTPBody:[board dataUsingEncoding:NSUTF8StringEncoding]];

get_top_trends takes a feed type, not a keyword. Pair the live snapshot with sort=rank_change on 1d and 7d. On 2026-09-28T08:01:35Z the live Google Trends board ranked cornell university at 12. Weekly Search for that string closed at 21.0 versus 7.0. A helper that only stores 7D Search for objective-c at 19.0 misses that board. Mode docs live at Docs.

What belongs in an Objective-C watchlist?

Store objective-c, objective c, objc, objective-c programming, and xcode as separate Search series. Add YouTube objective-c because the series is sparse and 7D already disagrees in magnitude with Search. Add Wikipedia volume for the resolved title, not the 0-100 score. Skip a CocoaPods column: that source does not exist. Do not store cocoa 67.0 as language adoption. Six Search keywords plus one live Google Trends board is 7 calls. Four weekly runs fit the free 100-request cap. Starter is 5,000, Pro 25,000, Business 100,000. Only successful 200 responses count.