Skip to main content
Glama

scrape_post

Send POST requests with custom headers and body data through Scrapingdog's proxy to submit forms or interact with POST-only APIs, returning the target site's response.

Instructions

Sends a POST request (with custom headers and/or form/body data) through Scrapingdog to an external URL or form, e.g. for submitting forms or hitting POST-only APIs/endpoints while still benefiting from Scrapingdog's proxy and rendering infrastructure. Returns the target site's response body. [Credits: Same credit structure as the GET /scrape endpoint (1 base credit; more if dynamic/premium/stealth_mode are combined) — the docs do not state a different cost for POST specifically.] Notes: Mechanics: api_key and url stay as query-string parameters on the https://api.scrapingdog.com/scrape endpoint exactly like the GET variant; only the HTTP method changes to POST and the request body you send is what gets relayed as the POST body to the target url. Documented example uses application/x-www-form-urlencoded body (foo=bar) via curl -d / requests.post(data=...) / axios.post(body, ...). Custom headers can be combined with this (see custom_headers feature) for authenticated POST submissions. All other /scrape query parameters (dynamic, premium, country, session_number, stealth_mode, custom_headers, wait) are presumably still available since it is the same endpoint, though the POST-specific doc page only demonstrates api_key + url + body. Returns: The target site's raw response body (typically HTML) as returned after Scrapingdog submits the POST request on your behalf.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe target URL to POST to, passed as a query string parameter (same as GET).
bodyYesRaw POST body forwarded verbatim to the target URL (e.g. form-encoded 'foo=bar&baz=1' or a JSON string). Scrapingdog relays it as its own POST body.
content_typeNoContent-Type header for the forwarded body (e.g. application/x-www-form-urlencoded or application/json). (default: application/x-www-form-urlencoded)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility. It details mechanics (query-string parameters, method change), credit structure, and that the return value is the raw response body. It also mentions optional parameters like custom headers and wait. However, it does not cover error scenarios or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is lengthy and includes some redundancy (e.g., credit structure repeated). It front-loads the core purpose but could be more concise without losing necessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains the return value. It covers input parameters, behavior, and credits. It does not discuss error handling or edge cases, but for a 3-parameter tool it provides sufficient context for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining that the body is forwarded verbatim, the content_type default, and notes that api_key and url are query parameters (even though api_key is not in the input schema). This goes beyond the schema's descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it sends a POST request through Scrapingdog, with specific use cases like form submission or hitting POST-only APIs. It distinguishes itself from the GET variant, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use this tool (for POST requests) and implicitly contrasts with the GET version. It mentions that other /scrape parameters are available, but does not explicitly state when not to use it or provide direct alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alessandrobenigni/ScrapingDog-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server