Dokumentacja API Hop
LinkedIn: opis punktów końcowych
Odczytuj profile członków i firm, posty, szczegóły ofert pracy, wyniki wyszukiwania ofert i komentarze przez 13 uwierzytelnionych punktów końcowych LinkedIn Web V2.
Odczytuj profile członków i firm, posty, szczegóły ofert pracy, wyniki wyszukiwania ofert i komentarze przez 13 uwierzytelnionych punktów końcowych LinkedIn Web V2.
Uwierzytelnianie
Wyślij klucz API API Hop w nagłówku Authorization. Dostęp zależy od włączonych bram i uprawnień klucza; dokumentacja nie potwierdza dostępności produkcyjnej.
Żądania
Operacje synchroniczne używają parametrów zapytania GET bez treści. Nieznane pola i zdublowane pola skalarne są odrzucane. Tylko pola oznaczone jako tablice akceptują powtarzane klucze, na przykład company_ids=1035&company_ids=1441. Zachowuj ID i kursory jako ciągi znaków; nie konwertuj dużych identyfikatorów na liczby JavaScript. Opcjonalne puste wartości są pomijane.
Rozliczenia
Dla operacji synchronicznych: profile członków, profile firm i szczegóły postów kosztują $0.008 (8000 kredytów) za udane żądanie. Pozostałe pięć operacji kosztuje $0.05 (50000 kredytów). To domyślne ceny klienta; pierwszeństwo mają ceny indywidualne konta. Każda żądana strona jest rozliczana osobno, a nie według liczby pozycji. Błędy dostawcy zwalniają rezerwację. Błędy rozliczenia nie wywołują kolejnego wywołania dostawcy.
Stronicowanie i limity
Dla operacji synchronicznych: posty członka zwracają tylko ostatnie 50 pozycji: start i pagination_token nie działają, nawet gdy odpowiedź zawiera token. Posty firmy używają start=0, 50, 100, ...; pagination_token nie działa. Wyszukiwanie ofert używa start=0, 25, 50, .... Komentarze obsługują page (od 1) i pagination_token. Nie ma automatycznego stronicowania. Żądania przekraczają limit po 60 sekundach bez automatycznych ponowień. Dostawca ostrzega, że ograniczenia zasobów mogą powodować sporadyczne błędy.
Zakres
Dostępnych jest osiem synchronicznych operacji Web V2 i pięć asynchronicznych operacji zadań. Twórz zadania profilu, firmy lub posta przez POST i pole url w JSON. Utworzenie zwraca HTTP 202 i dziesiętny identyfikator zadania platformy jako ciąg znaków. Odczyty statusu i wyniku przez GET wymagają tego samego najemcy i są bezpłatne; zadania nieznane, innego najemcy lub produktu zwracają 404. Status pomija result; result ma wartość null przed COMPLETED. Każde zadanie rezerwuje cenę przy utworzeniu i pobiera opłatę raz po sukcesie (domyślnie $0.008 / 8000 kredytów). Błąd lub limit 30 minut zwalnia rezerwację. Odpytywanie w tle działa co 5 sekund; odpowiedzi oczekujące zawierają Retry-After: 5. Wyniki są zapisane w zadaniu platformy. Używaj ID platformy, nigdy ID zadania dostawcy. Niepewne zgłoszenie nie jest automatycznie powtarzane. Ukończone zadanie zwraca result.records. Liczby całkowite poza bezpiecznym zakresem JavaScript są zapisywane i zwracane jako ciągi dziesiętne. Przykłady są ilustracyjne, a nie wynikami akceptacji na żywo.
Profil członka
web_v2-get_user_profile
GET https://api.apihop.ai/v1/linkedin/web-v2/users/profile
Cena za udane żądanie: $0.008 (8000 kredytów).
| Pole | Wymagane | Kontrakt |
|---|---|---|
url | Tak | Pełny adres URL LinkedIn; string |
curl --get "https://api.apihop.ai/v1/linkedin/web-v2/users/profile" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "url=https://www.linkedin.com/in/williamhgates/"Posty członka
web_v2-get_user_posts
GET https://api.apihop.ai/v1/linkedin/web-v2/users/posts
Cena za udane żądanie: $0.05 (50000 kredytów).
| Pole | Wymagane | Kontrakt |
|---|---|---|
url | Tak | Pełny adres URL LinkedIn; string |
type | Nie | Posty, posty skomentowane lub z reakcją; string; posts, comments, reactions; Domyślnie: posts |
start | Nie | Przesunięcie; obowiązują limity punktu końcowego; integer; >= 0 |
pagination_token | Nie | Token stronicowania; obowiązują limity punktu końcowego; string |
curl --get "https://api.apihop.ai/v1/linkedin/web-v2/users/posts" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "url=https://www.linkedin.com/in/williamhgates/"Profil firmy
web_v2-get_company_profile
GET https://api.apihop.ai/v1/linkedin/web-v2/companies/profile
Cena za udane żądanie: $0.008 (8000 kredytów).
| Pole | Wymagane | Kontrakt |
|---|---|---|
url | Tak | Pełny adres URL LinkedIn; string |
curl --get "https://api.apihop.ai/v1/linkedin/web-v2/companies/profile" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "url=https://www.linkedin.com/company/microsoft/"Posty firmy
web_v2-get_company_posts
GET https://api.apihop.ai/v1/linkedin/web-v2/companies/posts
Cena za udane żądanie: $0.05 (50000 kredytów).
| Pole | Wymagane | Kontrakt |
|---|---|---|
url | Tak | Pełny adres URL LinkedIn; string |
start | Nie | Przesunięcie; obowiązują limity punktu końcowego; integer; >= 0 |
pagination_token | Nie | Token stronicowania; obowiązują limity punktu końcowego; string |
sort_by | Nie | Kolejność sortowania; string; top, recent |
curl --get "https://api.apihop.ai/v1/linkedin/web-v2/companies/posts" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "url=https://www.linkedin.com/company/microsoft/"Szczegóły oferty pracy
web_v2-get_job_detail
GET https://api.apihop.ai/v1/linkedin/web-v2/jobs/detail
Cena za udane żądanie: $0.05 (50000 kredytów).
| Pole | Wymagane | Kontrakt |
|---|---|---|
url | Tak | Pełny adres URL LinkedIn; string |
include_skills | Nie | Uwzględnij wymagane umiejętności; boolean; Domyślnie: false |
include_hiring_team | Nie | Uwzględnij zespół rekrutacyjny; boolean; Domyślnie: false |
curl --get "https://api.apihop.ai/v1/linkedin/web-v2/jobs/detail" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "url=https://www.linkedin.com/jobs/view/software-engineer-at-pave-4310512612/"Wyszukiwanie ofert pracy
web_v2-search_jobs
GET https://api.apihop.ai/v1/linkedin/web-v2/jobs/search
Cena za udane żądanie: $0.05 (50000 kredytów).
| Pole | Wymagane | Kontrakt |
|---|---|---|
keywords | Nie | Słowa kluczowe wyszukiwania; string |
geo_code | Nie | ID geograficzne; 92000000 oznacza cały świat; integer; Dokładny identyfikator całkowity |
date_posted | Nie | Filtr daty publikacji; string; Any time, Past month, Past week, Past 24 hours |
experience_levels | Nie | Poziomy doświadczenia; string[]; Powtarzany klucz zapytania; Internship, Entry level, Associate, Mid-Senior level, Director, Executive |
company_ids | Nie | ID firm; integer[]; Powtarzany klucz zapytania; Dokładny identyfikator całkowity |
title_ids | Nie | ID stanowisk; integer[]; Powtarzany klucz zapytania; Dokładny identyfikator całkowity |
onsite_remotes | Nie | Typy miejsca pracy; string[]; Powtarzany klucz zapytania; On-site, Remote, Hybrid |
functions | Nie | Funkcje zawodowe; string[]; Powtarzany klucz zapytania |
industries | Nie | Branże; string[]; Powtarzany klucz zapytania |
job_types | Nie | Typy zatrudnienia; string[]; Powtarzany klucz zapytania; Full-time, Part-time, Contract, Temporary, Internship, Volunteer |
sort_by | Nie | Kolejność sortowania; string; Most relevant, Most recent |
easy_apply | Nie | Tylko Easy Apply; boolean; Domyślnie: false |
under_10_applicants | Nie | Tylko mniej niż 10 kandydatów; boolean; Domyślnie: false |
start | Nie | Przesunięcie; obowiązują limity punktu końcowego; integer; >= 0 |
curl --get "https://api.apihop.ai/v1/linkedin/web-v2/jobs/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "keywords=data analyst" \
--data-urlencode "company_ids=1035" \
--data-urlencode "company_ids=1441"Szczegóły posta
web_v2-get_post_detail
GET https://api.apihop.ai/v1/linkedin/web-v2/posts/detail
Cena za udane żądanie: $0.008 (8000 kredytów).
| Pole | Wymagane | Kontrakt |
|---|---|---|
url | Tak | Pełny adres URL LinkedIn; string |
curl --get "https://api.apihop.ai/v1/linkedin/web-v2/posts/detail" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "url=https://www.linkedin.com/posts/orlenchner_scrapecon-activity-7180537307521769472-oSYN"Komentarze posta
web_v2-get_post_comments
GET https://api.apihop.ai/v1/linkedin/web-v2/posts/comments
Cena za udane żądanie: $0.05 (50000 kredytów).
| Pole | Wymagane | Kontrakt |
|---|---|---|
urn | Tak | URN aktywności posta; string |
sort_by | Nie | Kolejność sortowania; string; Most relevant, Most recent |
page | Nie | Numer strony, począwszy od 1; integer; >= 1 |
pagination_token | Nie | Token stronicowania; obowiązują limity punktu końcowego; string |
share_urn | Nie | URN udostępnienia dla udostępnionych postów; string |
curl --get "https://api.apihop.ai/v1/linkedin/web-v2/posts/comments" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "urn=7267273010393358336"Utwórz zadanie profilu członka
web_v2-create_user_profile_task
POST https://api.apihop.ai/v1/linkedin/web-v2/users/profile/tasks
Cena za udane żądanie: $0.008 (8000 kredytów).
| Pole | Wymagane | Kontrakt |
|---|---|---|
url | Tak | Pełny adres URL LinkedIn; string |
curl -X POST "https://api.apihop.ai/v1/linkedin/web-v2/users/profile/tasks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.linkedin.com/in/williamhgates/"}'HTTP/1.1 202 Accepted
Location: /v1/linkedin/web-v2/tasks/3850699893338385742
Retry-After: 5
Content-Type: application/json
{"success":true,"data":{"id":"3850699893338385742","status":"PROCESSING","result":null},"requestId":"example-request"}Utwórz zadanie profilu firmy
web_v2-create_company_profile_task
POST https://api.apihop.ai/v1/linkedin/web-v2/companies/profile/tasks
Cena za udane żądanie: $0.008 (8000 kredytów).
| Pole | Wymagane | Kontrakt |
|---|---|---|
url | Tak | Pełny adres URL LinkedIn; string |
curl -X POST "https://api.apihop.ai/v1/linkedin/web-v2/companies/profile/tasks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.linkedin.com/company/microsoft/"}'HTTP/1.1 202 Accepted
Location: /v1/linkedin/web-v2/tasks/3850699893338385742
Retry-After: 5
Content-Type: application/json
{"success":true,"data":{"id":"3850699893338385742","status":"PROCESSING","result":null},"requestId":"example-request"}Utwórz zadanie szczegółów posta
web_v2-create_post_detail_task
POST https://api.apihop.ai/v1/linkedin/web-v2/posts/detail/tasks
Cena za udane żądanie: $0.008 (8000 kredytów).
| Pole | Wymagane | Kontrakt |
|---|---|---|
url | Tak | Pełny adres URL LinkedIn; string |
curl -X POST "https://api.apihop.ai/v1/linkedin/web-v2/posts/detail/tasks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.linkedin.com/posts/orlenchner_scrapecon-activity-7180537307521769472-oSYN"}'HTTP/1.1 202 Accepted
Location: /v1/linkedin/web-v2/tasks/3850699893338385742
Retry-After: 5
Content-Type: application/json
{"success":true,"data":{"id":"3850699893338385742","status":"PROCESSING","result":null},"requestId":"example-request"}Status zadania
web_v2-get_task_status
GET https://api.apihop.ai/v1/linkedin/web-v2/tasks/:task_id
Cena za udane żądanie: $0 (0 kredytów).
| Pole | Wymagane | Kontrakt |
|---|---|---|
task_id | Tak | ID zadania platformy w ścieżce URL; ciąg dziesiętny, a nie ID dostawcy; string; Dokładny identyfikator całkowity |
curl --get "https://api.apihop.ai/v1/linkedin/web-v2/tasks/397282151069614080" \
-H "Authorization: Bearer YOUR_API_KEY"HTTP/1.1 200 OK
Retry-After: 5
Content-Type: application/json
{"success":true,"data":{"id":"3850699893338385742","status":"PROCESSING"},"requestId":"example-request"}Wynik zadania
web_v2-get_task_result
GET https://api.apihop.ai/v1/linkedin/web-v2/tasks/:task_id/result
Cena za udane żądanie: $0 (0 kredytów).
| Pole | Wymagane | Kontrakt |
|---|---|---|
task_id | Tak | ID zadania platformy w ścieżce URL; ciąg dziesiętny, a nie ID dostawcy; string; Dokładny identyfikator całkowity |
curl --get "https://api.apihop.ai/v1/linkedin/web-v2/tasks/397282151069614080/result" \
-H "Authorization: Bearer YOUR_API_KEY"HTTP/1.1 200 OK
Retry-After: 5
Content-Type: application/json
{"success":true,"data":{"id":"3850699893338385742","status":"PROCESSING","result":null},"requestId":"example-request"}{"success":true,"data":{"id":"3850699893338385742","status":"COMPLETED","result":{"records":[]}},"requestId":"example-request"}Odpowiedzi
Dla operacji synchronicznych: natywne opakowanie JSON code/data i precyzja liczb zostają zachowane. Struktury odpowiedzi zależą od operacji. Sam HTTP 200 nie jest sukcesem: błędy biznesowe, w tym rekordy error/error_code, są odrzucane. Udany pusty wynik podlega opłacie. To odpowiedź ilustracyjna, a nie wynik akceptacji na żywo.
{"code":200,"data":[]}Błędy
HTTP 400: nieprawidłowe parametry; 401: nieprawidłowe uwierzytelnienie; 402: niewystarczające środki; 403: odmowa dostępu do bramy; 405: nieobsługiwana metoda; 408: anulowanie; 429: limit częstotliwości; 502/503/504: błąd dostawcy, niedostępna konfiguracja lub limit czasu. Zachowaj X-Request-Id do diagnozy.
Źródła
Sprawdzono 2026-10-31 względem oficjalnego OpenAPI V5.3.2 i aktualnych cen punktów końcowych. Źródła opisują kontrakt i ceny, a nie udaną weryfikację każdego punktu końcowego na żywo.