Skip to main content

Web Scraping API

Get to know how the Web Scraping API works and integrate it into your app.

What is Web Scraping?

A Web Scraping API allows you to extract structured data from websites quickly, reliably, and at scale—without needing to manage proxies, browsers, or scraping infrastructure yourself. It handles challenges like CAPTCHAs, geo-restrictions, dynamic content, and rate limits, returning clean, ready-to-use data in JSON or HTML format. Whether you’re gathering pricing data, monitoring competitors, collecting public information, or automating research tasks, a Web Scraping API provides a fast and efficient way to access the web data you need with minimal effort.

How to obtain the API

You may purchase Basic 250K or Basic 1M credits.

When you access your service, you'll get a dashboard looking like:

Basic 250K

Basic 250K, 250.000 credits, available threads 10.

Basic 1M

Basic 1M, 1.000.000 credits, available threads 50.

What is a Credit?

A credit represents one request made through the Web Scraping API.

  • 1 credit = 1 processed API call

  • Every time you send a scrape request (HTML extraction, JSON output, browser emulation, etc.), one credit is deducted.

  • Your plan in the screenshot includes 250.000 (or 1.000.000) credits, meaning you can make 250.000 (or 1.000.000) before needing a top-up or renewal.

What is a Thread?

A thread represents how many simultaneous scraping requests you can run at once.

  • With 10 threads, you can execute up to 10 (or 50) parallel HTTP requests to the scraping API.

  • This affects scraping speed, not total volume.

  • More threads = faster bulk scraping, because more requests are processed at the same time.

Example:

If you send 20 requests while having 10 threads:

  • 10 requests run immediately

  • 10 wait in the queue until threads free up

How to use the API

Authentication

All requests must include an X-API-Key header with a valid API key. For example:

X-API-Key: YOUR_SECRET_API_KEY

Scraper and API endpoint

POST https://scrapingapi.rapidseedbox.com

  • Purpose: Fetches a webpage at a given URL, optionally using a specified country proxy and/or language headers.

  • Auth: Requires X-API-Key in the request header.

  • Credits: Each call typically consumes 1 credit. (Total of 250k or 1M)

Features:

  • Ability to specify ISO 3166-1 country code (e.g., "US", "GB", "DE") to use a localized proxy.

  • Optionally set language (e.g., "en-US", "de-DE") to shape the Accept-Language header.

  • Return raw HTML (return_html = true) or a JSON structure (return_html = false, default).

Request body (JSON):

Field

Type

Required?

Description

url

string

yes

The URL to fetch (e.g. "https://www.example.com")

country

string

no

ISO 3166-1 alpha-2 code (e.g. "US", "GB", "DE"). Uses localized proxy

language

string

no

Language code in "xx-YY" format (e.g., "en-US", "de-DE")

return_html

boolean

no

true returns raw HTML; false returns JSON with HTML sample (default)

Example cURL Request:

curl -X POST "https://scrapingapi.rapidseedbox.com/" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_SECRET_API_KEY" \
-d '{
"url": "https://www.example.com",
"country": "US",
}'

Success Response

HTTP Status: 200 OK

If return_html = false (default):

{
"status_code": 200,
"credits_used": 1,
"time_spent_ms": 123,
"timestamp": "2025-03-25T12:00:00.123456",
"country": "US",
"language": "en-US",
"data": {
"html": "Base64 encoded HTML"
}
}

If return_html = true, the response is raw HTML:

 <!DOCTYPE html>
<html>
<head>...</head>
<body>Full HTML of the requested page</body>
</html>

Google SERP endpoint

POST https://scrapingapi.rapidseedbox.com/serp

  • Purpose: Specialized endpoint for Google Search requests.

  • Auth: Requires X-API-Key in the request header.

  • Credits: Each call consumes 20 credits.

Features:

  • url: The Google search URL.

  • Returns JSON containing HTML, metadata, credits used, etc.

Request body (JSON):

Field

Type

Required?

Description

url

string

yes

The URL to fetch (e.g. "https://www.example.com")

country

string

no

ISO 3166-1 alpha-2 code (e.g. "US", "GB", "DE"). Uses localized proxy

language

string

no

Language code in "xx-YY" format (e.g., "en-US", "de-DE")

return_html

boolean

no

true returns raw HTML; false returns JSON with HTML sample (default)

Example cURL Request:

curl -X POST "https://scrapingapi.rapidseedbox.com/serp" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_SECRET_API_KEY" \
-d '{
"url": "https://www.example.com",
"country": "US",
}'

Success Response

HTTP Status: 200 OK

If return_html = false (default):

{
"status_code": 200,
"credits_used": 1,
"time_spent_ms": 123,
"timestamp": "2025-03-25T12:00:00.123456",
"country": "US",
"language": "en-US",
"data": {
"html": "<html><body>Fetched content...</body></html>"
}
}

If return_html = true, the response is raw HTML:

<!DOCTYPE html>
<html>
<head>...</head>
<body>Full HTML of the requested page</body>
</html>

Render JS endpoint

POST https://scrapingapi.rapidseedbox.com/render

  • Purpose: Fetches a webpage at a given URL and renders it via browser, optionally using a specified country proxy and/or language headers.

  • Auth: Requires X-API-Key in the request header.

  • Credits: Each call consumes 20 credits.

Features:

  • Ability to specify ISO 3166-1 country code (e.g. "US", "GB", "DE") to use a localized proxy.

  • Optionally set language (e.g., "en-US", "de-DE") to shape the Accept-Language header.

  • Return raw HTML (return_html = true) or a JSON structure (return_html = false, default).

Request body (JSON):

Field

Type

Required?

Description

url

string

yes

The URL to fetch (e.g. "https://www.example.com")

country

string

no

ISO 3166-1 alpha-2 code (e.g. "US", "GB", "DE"). Uses localized proxy

language

string

no

Language code in "xx-YY" format (e.g., "en-US", "de-DE")

return_html

boolean

no

true returns raw HTML; false returns JSON with HTML sample (default)

Example cURL Request:

curl -X POST "https://scrapingapi.rapidseedbox.com/render" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_SECRET_API_KEY" \
-d '{
"url": "https://www.example.com",
"country": "US",
}'

Success Response

HTTP Status: 200 OK

If return_html = false (default):

{
"status_code": 200,
"credits_used": 1,
"time_spent_ms": 123,
"timestamp": "2025-03-25T12:00:00.123456",
"country": "US",
"language": "en-US",
"data": {
"html": "Base64 encoded HTML"
}
}

If return_html = true, the response is raw HTML:

<!DOCTYPE html>
<html>
<head>...</head>
<body>Full HTML of the requested page</body>
</html>

Possible Error Responses

HTTP Status Codes

Status Code

Cause

401

Invalid API key; Not enough prepaid credits; Missing API key

403

The account is suspended

400

The provided country is not a valid ISO 3166-1 code

422

The request body fails validation

500

Server errors or unexpected issues

Country codes

If you want to define the geolocation for your request, you may set the country code (string) parameter with one country code at the creation of the request.

Supported country codes can be found in the collapsible table below:

Where US is a two-letter uppercase country code according to ISO 3166-1:

Country codes (click here to expand the list)

AD Andorra

AE United Arab Emirates

AF Afghanistan

AG Antigua and Barbuda

AI Anguilla

AL Albania

AM Armenia

AO Angola

AQ Antarctica

AR Argentina

AS American Samoa

AT Austria

AU Australia

AW Aruba

AX Åland Islands

AZ Azerbaijan

BA Bosnia and Herzegovina

BB Barbados

BD Bangladesh

BE Belgium

BF Burkina Faso

BG Bulgaria

BH Bahrain

BI Burundi

BJ Benin

BL Saint Barthélemy

BM Bermuda

BN Brunei Darussalam

BO Bolivia (Plurinational State of)

BQ Bonaire, Sint Eustatius and Saba

BR Brazil

BS Bahamas

BT Bhutan

BV Bouvet Island

BW Botswana

BY Belarus

BZ Belize

CA Canada

CC Cocos (Keeling) Islands

CD Congo, Democratic Republic of the

CF Central African Republic

CG Congo

CH Switzerland

CI Côte d’Ivoire

CK Cook Islands

CL Chile

CM Cameroon

CN China

CO Colombia

CR Costa Rica

CU Cuba

CV Cabo Verde

CW Curaçao

CX Christmas Island

CY Cyprus

CZ Czechia

DE Germany

DJ Djibouti

DK Denmark

DM Dominica

DO Dominican Republic

DZ Algeria

EC Ecuador

EE Estonia

EG Egypt

EH Western Sahara

ER Eritrea

ES Spain

ET Ethiopia

FI Finland

FJ Fiji

FK Falkland Islands (Malvinas)

FM Micronesia (Federated States of)

FO Faroe Islands

FR France

GA Gabon

GB United Kingdom of Great Britain and Northern Ireland

GD Grenada

GE Georgia

GF French Guiana

GG Guernsey

GH Ghana

GI Gibraltar

GL Greenland

GM Gambia

GN Guinea

GP Guadeloupe

GQ Equatorial Guinea

GR Greece

GS South Georgia and the South Sandwich Islands

GT Guatemala

GU Guam

GW Guinea-Bissau

GY Guyana

HK Hong Kong

HM Heard Island and McDonald Islands

HN Honduras

HR Croatia

HT Haiti

HU Hungary

ID Indonesia

IE Ireland

IL Israel

IM Isle of Man

IN India

IO British Indian Ocean Territory

IQ Iraq

IR Iran (Islamic Republic of)

IS Iceland

IT Italy

JE Jersey

JM Jamaica

JO Jordan

JP Japan

KE Kenya

KG Kyrgyzstan

KH Cambodia

KI Kiribati

KM Comoros

KN Saint Kitts and Nevis

KP Korea (Democratic People’s Republic of)

KR Korea, Republic of

KW Kuwait

KY Cayman Islands

KZ Kazakhstan

LA Lao People’s Democratic Republic

LB Lebanon

LC Saint Lucia

LI Liechtenstein

LK Sri Lanka

LR Liberia

LS Lesotho

LT Lithuania

LU Luxembourg

LV Latvia

LY Libya

MA Morocco

MC Monaco

MD Moldova, Republic of

ME Montenegro

MF Saint Martin (French part)

MG Madagascar

MH Marshall Islands

MK North Macedonia

ML Mali

MM Myanmar

MN Mongolia

MO Macao

MP Northern Mariana Islands

MQ Martinique

MR Mauritania

MS Montserrat

MT Malta

MU Mauritius

MV Maldives

MW Malawi

MX Mexico

MY Malaysia

MZ Mozambique

NA Namibia

NC New Caledonia

NE Niger

NF Norfolk Island

NG Nigeria

NI Nicaragua

NL Netherlands

NO Norway

NP Nepal

NR Nauru

NU Niue

NZ New Zealand

OM Oman

PA Panama

PE Peru

PF French Polynesia

PG Papua New Guinea

PH Philippines

PK Pakistan

PL Poland

PM Saint Pierre and Miquelon

PN Pitcairn

PR Puerto Rico

PS Palestine, State of

PT Portugal

PW Palau

PY Paraguay

QA Qatar

RE Réunion

RO Romania

RS Serbia

RU Russian Federation

RW Rwanda

SA Saudi Arabia

SB Solomon Islands

SC Seychelles

SD Sudan

SE Sweden

SG Singapore

SH Saint Helena, Ascension and Tristan da Cunha

SI Slovenia

SJ Svalbard and Jan Mayen

SK Slovakia

SL Sierra Leone

SM San Marino

SN Senegal

SO Somalia

SR Suriname

SS South Sudan

ST Sao Tome and Principe

SV El Salvador

SX Sint Maarten (Dutch part)

SY Syrian Arab Republic

SZ Eswatini

TC Turks and Caicos Islands

TD Chad

TF French Southern Territories

TG Togo

TH Thailand

TJ Tajikistan

TK Tokelau

TL Timor-Leste

TM Turkmenistan

TN Tunisia

TO Tonga

TR Türkiye

TT Trinidad and Tobago

TV Tuvalu

TW Taiwan, Province of China

TZ Tanzania, United Republic of

UA Ukraine

UG Uganda

UM United States Minor Outlying Islands

US United States of America

UY Uruguay

UZ Uzbekistan

VA Holy See

VC Saint Vincent and the Grenadines

VE Venezuela (Bolivarian Republic of)

VG Virgin Islands (British)

VI Virgin Islands (U.S.)

VN Viet Nam

VU Vanuatu

WF Wallis and Futuna

WS Samoa

YE Yemen

YT Mayotte

ZA South Africa

ZM Zambia

ZW Zimbabwe

Language codes

If you want to define the language in your request, you may set the language (string) parameter with one language tag at the creation of the request.

Language codes can be found in the collapsible table below:

All language codes/tags (click here to expand the list)

ar-SA Arabic Saudi Arabia Arabic (Saudi Arabia)

bn-BD Bangla Bangladesh Bangla (Bangladesh)

bn-IN Bangla India Bangla (India)

cs-CZ Czech Czech Republic Czech (Czech Republic)

da-DK Danish Denmark Danish (Denmark)

de-AT German Austria Austrian German

de-CH German Switzerland "Swiss" German

de-DE German Germany Standard German (as spoken in Germany)

el-GR Greek Greece Modern Greek

en-AU English Australia Australian English

en-CA English Canada Canadian English

en-GB English United Kingdom British English

en-IE English Ireland Irish English

en-IN English India Indian English

en-NZ English New Zealand New Zealand English

en-US English United States US English

en-ZA English South Africa English (South Africa)

es-AR Spanish Argentina Argentine Spanish

es-CL Spanish Chile Chilean Spanish

es-CO Spanish Columbia Colombian Spanish

es-ES Spanish Spain Castilian Spanish (as spoken in Central-Northern Spain)

es-MX Spanish Mexico Mexican Spanish

es-US Spanish United States American Spanish

fi-FI Finnish Finland Finnish (Finland)

fr-BE French Belgium Belgian French

fr-CA French Canada Canadian French

fr-CH French Switzerland "Swiss" French

fr-FR French France Standard French (especially in France)

he-IL Hebrew Israel Hebrew (Israel)

hi-IN Hindi India Hindi (India)

hu-HU Hungarian Hungary Hungarian (Hungary)

id-ID Indonesian Indonesia Indonesian (Indonesia)

it-CH Italian Switzerland "Swiss" Italian

it-IT Italian Italy Standard Italian (as spoken in Italy)

ja-JP Japanese Japan Japanese (Japan)

ko-KR Korean Republic of Korea Korean (Republic of Korea)

nl-BE Dutch Belgium Belgian Dutch

nl-NL Dutch The Netherlands Standard Dutch (as spoken in The Netherlands)

no-NO Norwegian Norway Norwegian (Norway)

pl-PL Polish Poland Polish (Poland)

pt-BR Portugese Brazil Brazilian Portuguese

pt-PT Portugese Portugal European Portuguese (as written and spoken in Portugal)

ro-RO Romanian Romania Romanian (Romania)

ru-RU Russian Russian Federation Russian (Russian Federation)

sk-SK Slovak Slovakia Slovak (Slovakia)

sv-SE Swedish Sweden Swedish (Sweden)

ta-IN Tamil India Indian Tamil

ta-LK Tamil Sri Lanka Sri Lankan Tamil

th-TH Thai Thailand Thai (Thailand)

tr-TR Turkish Turkey Turkish (Turkey)

zh-CN Chinese China Mainland China, simplified characters

zh-HK Chinese Hond Kong Hong Kong, traditional characters

zh-TW Chinese Taiwan Taiwan, traditional characters

Did this answer your question?