• 정보
  • 통화 한도
  • Google 버전
  • 버전 목록
  • SERPS
  • Google 검색 쿼리
  • Google 지도 쿼리
  • 쿼리 ID
  • SERP 복구
  • 콜백 URL
  • SERP 처리 상태
  • 청구
  • 잔여 크레딧
  • 결제 방법

정보

API 호출 횟수 제한
GET : 500 appels par minute
POST : 500 appels par minute

Google 버전

Google SERP를 검색하는 데 필요한 위치언어 매개변수를 가져옵니다.
get
https://api.semscraper.com/v1/serp/google/location
권한 부여 : Bearer {api_key}
  • 요청
  • 성공적인 응답
Status: 200 OK
{
    "status": "success",
    "request_ms": 17,
    "count": 372,
    "data": [
        {
            "location": "en",
            "language": "en",
            "host": "google.com",
            "name": "World Wide Web"
        },
        {
            "location": "fr",
            "language": "fr",
            "host": "google.fr",
            "name": "France"
        }
}

SERP

Google 검색 SERP 쿼리 생성
데이터는 JSON 배열로 전송해야 합니다. 각 요소에는 다음 필드가 포함되어야 합니다.
제한
JSON 배열에는 100개의 요소가 포함될 수 있으므로 한 번의 호출로 100개의 SERP 스크랩을 만들 수 있습니다.
post
https://api.semscraper.com/v1/serp
권한 부여 : Bearer {api_key}
매개변수
search_engine
필수
string
검색 엔진 선택 :
Google 검색(값: google_search)
keyword
필수
string
검색 엔진에서 검색할 키워드
device
필수
string
기질 선택 :
컴퓨터(값: 데스크톱)
모바일(가치: 모바일)
depth
필수
integer
페이지 깊이를 설정하면 페이지 매김이 있는 Google SERP를 검색합니다. 이 매개변수는 1(약 10개 결과)에서 10(약 100개 결과) 사이여야 합니다.
location
필수
string
검색 엔진 위치 코드
language
필수
string
검색 엔진 언어
geolocation
string
Google SERP의 지리적 위치를 지정할 수 있습니다. 예를 들어 쉼표로 구분하여 도시, 부서 또는 국가를 표시할 수 있습니다.
priority
integer
요청의 우선순위를 지정하는 데 사용되며, 우선순위가 낮은 순서대로 처리됩니다. 1(낮음)에서 10(높음) 사이의 값입니다.
callback_url
string
키워드가 처리된 후 결과를 전송할 URL을 지정할 수 있습니다.
Result block types
Possible values of the type field. A block is only present in the response when Google displays it for the requested keyword.
Results and ads
organic
Organic result
Standard organic search result.
sitelinks
Sitelinks
Secondary link attached to an organic result.
paid_top
Top ad
Paid ad above the organic results.
paid_bottom
Bottom ad
Paid ad below the organic results.
Rich blocks
featured_snippet
Featured snippet
Highlighted snippet above the organic results.
knowledge_graph
Knowledge panel
Item from the panel shown on the right of the SERP.
images
Images
Thumbnail from the images block.
videos
Videos
Video from the videos block.
top_stories
Top stories
Article from the top stories block.
shopping
Shopping
Product from the Google Shopping carousel.
recipes
Recipes
Recipe from the recipes block.
local_pack
Local pack
Business from the local pack, sourced from Google Maps.
visual_digest
Visual digest
Item from the visual digest generated by Google.
Suggestions and follow-ups
people_also_ask
People also ask
Question from the People also ask block.
related_searches
Related searches
Related search suggested at the bottom of the page.
find_results_on
Find results on
Link from the Find results on block.
location_sites
Location sites
Site listed in a location-related block.
AI Overview
ai_overview_citation
Citation
Brand cited in the AI-generated text.
ai_overview_citation_source
Citation source
Source of a citation, shown on hover over it.
ai_overview_panel
Source panel
Site listed in the side panel of sources.
  • 요청
  • 성공적인 응답
  • 오류 응답
Status: 200 OK
{
    "status": "success",
    "request_ms": 40,
    "count": 1,
    "currency": "EUR",
    "total_cost": 2.0e-5,
    "data": [
        {
            "id": "SERP_ID",
            "status": "pending",
            "keyword": "example keyword",
            "device": "mobile",
            "location": "fr",
            "language": "fr",
            "depth": 1,
            "geolocation": false,
            "priority": 1,
            "callback_url": null,
            "cost": 2.0e-51,
            "_links": {
                "json": {
                    "href": "/serp?ids=SERP_ID&output=json",
                    "method": "GET",
                    "type": "application/json"
                },
                "html": {
                    "href": "/serp?ids=SERP_ID&output=html",
                    "method": "GET",
                    "type": "application/json"
                }
            }
        }
    ]
}
Status: 400 Bad Request
{
    "error": "Bad Request",
    "message": "DESCRIPTION_OF_ERROR",
    "code": 400
}
Google 지도 SERP 쿼리 만들기
데이터는 JSON 배열로 전송해야 합니다. 각 요소에는 다음 필드가 포함되어야 합니다.
제한
JSON 배열에는 100개의 요소가 포함될 수 있으므로 한 번의 호출로 100개의 SERP 스크랩을 만들 수 있습니다.
post
https://api.semscraper.com/v1/serp
권한 부여 : Bearer {api_key}
매개변수
search_engine
필수
string
검색 엔진 선택 :
Google 지도(값: google_maps)
keyword
필수
string
검색 엔진에서 검색할 키워드
depth
필수
integer
페이지 깊이를 설정하면 페이지 매김이 있는 Google SERP를 검색합니다. 이 매개변수는 1(약 10개 결과)에서 10(약 100개 결과) 사이여야 합니다.
location
필수
string
검색 엔진 위치 코드
language
필수
string
검색 엔진 언어
geolocation
string
Google SERP의 지리적 위치를 지정할 수 있습니다. 예를 들어 쉼표로 구분하여 도시, 부서 또는 국가를 표시할 수 있습니다.
priority
integer
요청의 우선순위를 지정하는 데 사용되며, 우선순위가 낮은 순서대로 처리됩니다. 1(낮음)에서 10(높음) 사이의 값입니다.
callback_url
string
키워드가 처리된 후 결과를 전송할 URL을 지정할 수 있습니다.
  • 요청
  • 성공적인 응답
  • 오류 응답
Status: 200 OK
{
    "status": "success",
    "request_ms": 40,
    "count": 1,
    "currency": "EUR",
    "total_cost": 2.0e-5,
    "data": [
        {
            "id": "SERP_ID",
            "status": "pending",
            "keyword": "example keyword",
            "device": "mobile",
            "location": "fr",
            "language": "fr",
            "depth": 1,
            "geolocation": false,
            "priority": 1,
            "callback_url": null,
            "cost": 2.0e-51,
            "_links": {
                "json": {
                    "href": "/serp?ids=SERP_ID&output=json",
                    "method": "GET",
                    "type": "application/json"
                },
                "html": {
                    "href": "/serp?ids=SERP_ID&output=html",
                    "method": "GET",
                    "type": "application/json"
                }
            }
        }
    ]
}
Status: 400 Bad Request
{
    "error": "Bad Request",
    "message": "DESCRIPTION_OF_ERROR",
    "code": 400
}
아직 검색하지 않은 완료된 SERP의 식별자(ID) 목록입니다.
이 방법을 사용하면 이미 처리되었지만 아직 검색되지 않은 모든 SERP의 ID를 얻을 수 있습니다. 그런 다음 이 ID를 사용하여 SERP 검색 메서드를 호출할 수 있습니다.
get
https://api.semscraper.com/v1/serp
권한 부여 : Bearer {api_key}
  • 요청
  • 성공적인 응답
Status: 200 OK
{
    "status": "success",
    "request_ms": 40,
    "count": 2,
    "data": [
        {
            "id": "SERP_ID",
            "status": "done",
            "keyword": "example keyword",
            "device": "desktop",
            "location": "fr",
            "language": "fr",
            "depth": 5,
            "geolocation": false,
            "callback_url": "",
            "cost": "0.00010",
            "_links": {
                "json": {
                    "href": "/serp?ids=SERP_ID&output=json",
                    "method": "GET",
                    "type": "application/json"
                },
                "html": {
                    "href": "/serp?ids=SERP_ID&output=html",
                    "method": "GET",
                    "type": "application/json"
                }
            }
        },
        {
            "id": "SERP_ID",
            "status": "done",
            "keyword": "example keyword",
            "device": "mobile",
            "location": "fr",
            "language": "fr",
            "depth": 5,
            "geolocation": false,
            "callback_url": "",
            "cost": "0.00010",
            "_links": {
                "json": {
                    "href": "/serp?ids=SERP_ID&output=json",
                    "method": "GET",
                    "type": "application/json"
                },
                "html": {
                    "href": "/serp?ids=SERP_ID&output=html",
                    "method": "GET",
                    "type": "application/json"
                }
            }
        }
    ]
}
ID를 통한 Google SERP 복구
쉼표로 구분된 여러 개의 ID를 제공하여 한 번의 호출로 여러 개의 SERP를 검색합니다(JSON 또는 HTML 형식).
제한
최대 100개의 ID를 지정할 수 있으므로 한 번의 호출로 100개의 SERP를 검색할 수 있습니다.
get
https://api.semscraper.com/v1/serp?ids=id1,id2&output=json
권한 부여 : Bearer {api_key}
매개변수
ids
필수
string
쉼표로 구분된 ID 목록입니다.
output
필수
string
출력 형식 선택 :
JSON(값: json)
HTML(값: html)
결과 형식
  • Google Search
  • Google Maps
type
string
결과 블록 유형 (자연 검색, 동영상, 이미지, people_also_ask, local_pack 등)
rank_type
integer
해당 요소가 속한 블록 유형 내에서의 위치 (예: 3번째 자연 검색 결과 = 3)
rank_serp
integer
전체 SERP 내 모든 블록을 통틀어, 페이지상의 실제 수직 위치(픽셀 단위)에 따른 절대 위치
page
integer
해당 항목이 표시되는 SERP의 페이지 번호
pixel
integer
페이지에서 요소의 수직 위치(상단부터 픽셀 단위)
domain
string
URL 도메인
url
string
결과 URL
title
string
결과에 표시되는 제목
description
string
설명 / 결과에 표시된 발췌문
brand
string
Cited brand, or the source label as displayed by Google. Only on ai_overview_citation, ai_overview_citation_source and ai_overview_panel blocks. On a citation the URL is often empty, making the brand the only information carried by the item.
visible
boolean
Whether the item is shown straight away in the AI Overview (true) or only after expanding it (false). Only on AI Overview blocks. Always false for ai_overview_citation_source, which appears on hover over a citation.
rank_type
integer
해당 요소가 속한 블록 유형 내에서의 위치 (예: 3번째 자연 검색 결과 = 3)
rank_serp
integer
전체 SERP 내 모든 블록을 통틀어, 페이지상의 실제 수직 위치(픽셀 단위)에 따른 절대 위치
page
integer
해당 항목이 표시되는 SERP의 페이지 번호
pixel
integer
페이지에서 요소의 수직 위치(상단부터 픽셀 단위)
title
string
결과에 표시되는 제목
cid
string
교육기관 정보의 Google 식별자(CID)
reviews
integer
리뷰 수
rating
float
5점 만점 기준 평균 점수
website
string
학교 웹사이트
type
string
업소 유형 (예: 식당)
address
string
우편 주소
status_label
string
운영 상태 (예: 영업 중, 휴업 중)
status_detail
string
상태 세부 정보 (예: 근무 시간)
comment
string
댓글 / 게시된 발췌문
images
array
이 항목의 이미지 목록
  • 요청
  • 성공적인 응답
  • 오류 응답
Status: 200 OK
{
    "status": "success",
    "request_ms": 41,
    "count": 1,
    "data": [
        {
            "id": "SERP_ID",
            "status": "done",
            "keyword": "example keyword",
            "device": "desktop",
            "location": "fr",
            "language": "fr",
            "depth": 1,
            "geolocation": false,
            "priority": 1,
            "callback_url": "",
            "cost": "0.00002",
            "created_at": "2025-09-10T12:32:56Z",
            "scraped_at": "2025-09-10T12:33:02Z",
            "duration_ms": 5403,
            "serp_info": {
                "result_count": 1500000000
            },
            "results": [
                {
                    "type": "people_also_ask",
                    "items": [
                        {
                            "rank_type": 1,
                            "rank_serp": 4,
                            "page": 1,
                            "pixel": 806,
                            "domain": "guides.lib.uh.edu",
                            "url": "https://guides.lib.uh.edu/c.php?g\\x3d1249281",
                            "title": "What is a keyword example?",
                            "description": ""
                        },
                        {
                            "rank_type": 2,
                            "rank_serp": 5,
                            "page": 1,
                            "pixel": 858,
                            "domain": "toolsqa.com",
                            "url": "https://toolsqa.com/cucumber/data-driven-testing-using-examples-keyword/",
                            "title": "What is the example keyword used for?",
                            "description": ""
                        },
                        {
                            "rank_type": 3,
                            "rank_serp": 6,
                            "page": 1,
                            "pixel": 911,
                            "domain": "www.editage.com",
                            "url": "https://www.editage.com/insights/how-to-create-keywords-for-a-research-paper",
                            "title": "How do you write keywords examples?",
                            "description": ""
                        },
                        {
                            "rank_type": 4,
                            "rank_serp": 7,
                            "page": 1,
                            "pixel": 964,
                            "domain": "libguides.lvc.edu",
                            "url": "https://libguides.lvc.edu/c.php?g\\x3d1152118\\x26ampp\\x3d8409030",
                            "title": "What is an example of a keyword search?",
                            "description": ""
                        }
                    ]
                },
                {
                    "type": "videos",
                    "items": [
                        {
                            "rank_type": 1,
                            "rank_serp": 1,
                            "page": 1,
                            "pixel": 223,
                            "domain": "www.youtube.com",
                            "url": "https://www.youtube.com/watch?v=H-B5oFJjL8I",
                            "title": "What are Keywords and How to Choose Them? 1.1. SEO ...",
                            "description": ""
                        },
                        {
                            "rank_type": 2,
                            "rank_serp": 2,
                            "page": 1,
                            "pixel": 374,
                            "domain": "www.youtube.com",
                            "url": "https://www.youtube.com/watch?v=TTlEVVB75wo&pp=2AEAkAIB",
                            "title": "What Are Keywords? Everything You Need To Know (and more)",
                            "description": ""
                        },
                        {
                            "rank_type": 3,
                            "rank_serp": 3,
                            "page": 1,
                            "pixel": 526,
                            "domain": "www.youtube.com",
                            "url": "https://www.youtube.com/watch?v=OMJQPqG2Uas",
                            "title": "Keyword Research Tutorial: From Start to Finish",
                            "description": ""
                        }
                    ]
                },
                {
                    "type": "organic",
                    "items": [
                        {
                            "rank_type": 1,
                            "rank_serp": 8,
                            "page": 1,
                            "pixel": 1077,
                            "domain": "www.seoquantum.com",
                            "url": "https://www.seoquantum.com/en/blog/6-types-keywords-organic-seo",
                            "title": "The 6 Types of Keywords in Organic SEO",
                            "description": "2 mars 2024 — I will introduce you to 6 types of keywords that you absolutely need to know. We will start with the most common ones such as long-tail keywords and then move ..."
                        },
                        {
                            "rank_type": 2,
                            "rank_serp": 9,
                            "page": 1,
                            "pixel": 1223,
                            "domain": "storychief.io",
                            "url": "https://storychief.io/blog/seo-keyword-research-examples",
                            "title": "10 Clever SEO Keyword Research Examples",
                            "description": "Let's say you run a food blog. Some potential SEO keywords could be: quick weeknight dinners easy dinner recipes 30 minute meals one pot dinners"
                        },
                        {
                            "rank_type": 3,
                            "rank_serp": 10,
                            "page": 1,
                            "pixel": 1369,
                            "domain": "www.indeed.com",
                            "url": "https://www.indeed.com/career-advice/career-development/types-of-keywords",
                            "title": "19 Types of Keywords",
                            "description": "6 juin 2025 — 19 types of keywords and how to use them for marketing · 1. Market segment keywords · 2. Customer-defining keywords · 3. Product-defining ..."
                        },
                        {
                            "rank_type": 4,
                            "rank_serp": 11,
                            "page": 1,
                            "pixel": 1515,
                            "domain": "www.usg.edu",
                            "url": "https://www.usg.edu/galileo/skills/unit04/primer04_07.phtml",
                            "title": "Keyword Search",
                            "description": "In this case, the phrase alternative fuels and automobiles are the significant keywords."
                        },
                        {
                            "rank_type": 5,
                            "rank_serp": 12,
                            "page": 1,
                            "pixel": 1639,
                            "domain": "guides.lib.uh.edu",
                            "url": "https://guides.lib.uh.edu/c.php?g=1249281",
                            "title": "What are keywords and why are they important? - Guides",
                            "description": "You probably used the title of the film and the word “showtimes” as your keywords to bring up the results you needed. Keywords in academic research are similar."
                        },
                        {
                            "rank_type": 6,
                            "rank_serp": 13,
                            "page": 1,
                            "pixel": 1785,
                            "domain": "www.tactee.fr",
                            "url": "https://www.tactee.fr/seo/strategie-seo/keyword-seo/",
                            "title": "Qu'est ce qu'un keyword SEO ? [Définition & conseil]",
                            "description": "13 juil. 2024 — Commerciale : l'utilisateur compare des produits ou des services, par exemple « meilleur smartphone 2024 ». Identifier l'intention de recherche ..."
                        },
                        {
                            "rank_type": 7,
                            "rank_serp": 14,
                            "page": 1,
                            "pixel": 1931,
                            "domain": "backlinko.com",
                            "url": "https://backlinko.com/types-of-keywords",
                            "title": "10 Types of Keywords with Examples (+ How to Find Them)",
                            "description": "15 mai 2025 — 10 Types of Keywords with Examples (+ How to Find Them) · 1. Seed Keywords · 2. Informational Keywords · 3. Commercial Keywords · 4."
                        },
                        {
                            "rank_type": 8,
                            "rank_serp": 15,
                            "page": 1,
                            "pixel": 2077,
                            "domain": "learn.microsoft.com",
                            "url": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/",
                            "title": "C# Keywords and contextual keywords - C# reference",
                            "description": "17 avr. 2025 — For example, @if is a valid identifier, but if isn't because if is a keyword. The first table in this article lists keywords that are ..."
                        }
                    ]
                },
                {
                    "type": "images",
                    "items": [
                        {
                            "rank_type": 1,
                            "rank_serp": 16,
                            "page": 1,
                            "pixel": 2311,
                            "domain": "searchfacts.com",
                            "url": "https://searchfacts.com/what-are-keywords-in-seo/",
                            "title": "",
                            "description": ""
                        },
                        {
                            "rank_type": 2,
                            "rank_serp": 17,
                            "page": 1,
                            "pixel": 2311,
                            "domain": "backlinko.com",
                            "url": "https://backlinko.com/hub/seo/seo-keywords",
                            "title": "",
                            "description": ""
                        },
                        {
                            "rank_type": 3,
                            "rank_serp": 18,
                            "page": 1,
                            "pixel": 2311,
                            "domain": "ahrefs.com",
                            "url": "https://ahrefs.com/blog/what-are-keywords/",
                            "title": "",
                            "description": ""
                        }
                    ]
                }
            ]
        }
    ]
}
Status: 400 Bad Request
{
    "error": "InvalidParameter",
    "message": "DESCRIPTION_OF_ERROR",
    "code": 400
}
콜백 URL을 통해 SERP 복구하기
쿼리를 생성할 때 제공한 URL로 SERP 결과를 바로 받아볼 수 있습니다. 사용된 API 키에 연결된 HMAC 키를 검색하기만 하면 됩니다.
  • 코드
  • PHP
  • Python
  • Javascript
  • Ruby
  • Java
  • C#
  • GO
// 1) Read the raw body (JSON)
$raw = file_get_contents('php://input');

// 2) Retrieve the headers
$headers = function_exists('getallheaders') ? getallheaders() : [];
$signature = $headers['X-Signature'] ?? '';

// 3) (Optional) Verify the HMAC signature
$sharedSecret = 'HMAC_KEY';
$expected = hash_hmac('sha256', $raw, $sharedSecret);
if (!hash_equals($expected, $signature)) {
    http_response_code(401);
    header('Content-Type: text/plain; charset=utf-8');
    echo 'Invalid signature';
    exit;
}

// 4) Decode the JSON
$data = json_decode($raw, true);

if (json_last_error() !== JSON_ERROR_NONE) {
    http_response_code(400);
    header('Content-Type: text/plain; charset=utf-8');
    echo 'Invalid JSON';
    exit;
}

// 5) Process the data
// $data contains what you sent in the $payload from the client side.
// For example : $data['id'], $data['results'], etc.

// 6) Respond in JSON (optional, we log these responses for tracking purposes)
http_response_code(200);
header('Content-Type: application/json; charset=utf-8');
echo json_encode([
    'status' => 'ok',
    'received_at' => gmdate('c'),
    'echo' => $data['id'] ?? null
]);
SERP 처리 현황
상태에 따른 SERP 수를 확인합니다:
완료 및 사용자가 검색한 결과(상태=완료, 가져온 결과=참)
완료 및 사용자가 검색하지 않은 결과(상태=완료, 가져온 값=거짓)
처리 중(상태=처리 중)
대기 중(상태=보류 중)
get
https://api.semscraper.com/v1/serp/status
권한 부여 : Bearer {api_key}
  • 요청
  • 성공적인 응답
Status: 200 OK
{
    "status": "success",
    "request_ms": 54,
    "count": 4,
    "data": [
        {
            "status": "done",
            "fetched": true,
            "count": 5
        },
        {
            "status": "done",
            "fetched": false,
            "count": 1000
        },
        {
            "status": "processing",
            "count": 0
        },
        {
            "status": "pending",
            "count": 0
        }
    ]
}

청구

남은 크레딧을 복구합니다.
get
https://api.semscraper.com/v1/billing/credit
권한 부여 : Bearer {api_key}
  • 요청
  • 성공적인 응답
Status: 200 OK
{
    "status": "success",
    "request_ms": 21,
    "count": 1,
    "data": [
        {
            "balance": 100.50
        }
    ]
}
사용 가능한 결제 방법
get
https://api.semscraper.com/v1/billing/payment_methods
권한 부여 : Bearer {api_key}
  • 요청
  • 성공적인 응답
Status: 200 OK
{
    "status": "success",
    "request_ms": 43,
    "count": 3,
    "data": [
        {
            "id": 1,
            "name": "Perso",
            "num": "-4242",
            "expiration": "1226",
            "type": "Visa",
            "master": false
        },
        {
            "id": 30,
            "name": "Pro",
            "num": "-4444",
            "expiration": "1227",
            "type": "Mastercard",
            "master": true
        }
    ]
}