curl --request POST \
--url https://app.teable.ai/api/base/%7BbaseId%7D/scrape/trigger \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
--header 'content-type: application/json' \
--data '{"datasetId":"string","inputs":[{"property1":"string","property2":"string"}],"discoverBy":"string","limit":1}'const url = 'https://app.teable.ai/api/base/%7BbaseId%7D/scrape/trigger';
const options = {
method: 'POST',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN',
'content-type': 'application/json'
},
body: '{"datasetId":"string","inputs":[{"property1":"string","property2":"string"}],"discoverBy":"string","limit":1}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}const http = require('https');
const options = {
method: 'POST',
hostname: 'app.teable.ai',
port: null,
path: '/api/base/%7BbaseId%7D/scrape/trigger',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN',
'content-type': 'application/json'
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
datasetId: 'string',
inputs: [{property1: 'string', property2: 'string'}],
discoverBy: 'string',
limit: 1
}));
req.end();import http.client
conn = http.client.HTTPSConnection("app.teable.ai")
payload = "{\"datasetId\":\"string\",\"inputs\":[{\"property1\":\"string\",\"property2\":\"string\"}],\"discoverBy\":\"string\",\"limit\":1}"
headers = {
'Authorization': "Bearer REPLACE_BEARER_TOKEN",
'content-type': "application/json"
}
conn.request("POST", "/api/base/%7BbaseId%7D/scrape/trigger", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.teable.ai/api/base/{baseId}/scrape/trigger",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'datasetId' => '<string>',
'inputs' => [
[
]
],
'discoverBy' => '<string>',
'limit' => 25
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.teable.ai/api/base/{baseId}/scrape/trigger"
payload := strings.NewReader("{\n \"datasetId\": \"<string>\",\n \"inputs\": [\n {}\n ],\n \"discoverBy\": \"<string>\",\n \"limit\": 25\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.teable.ai/api/base/{baseId}/scrape/trigger")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"datasetId\": \"<string>\",\n \"inputs\": [\n {}\n ],\n \"discoverBy\": \"<string>\",\n \"limit\": 25\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/base/{baseId}/scrape/trigger")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"datasetId\": \"<string>\",\n \"inputs\": [\n {}\n ],\n \"discoverBy\": \"<string>\",\n \"limit\": 25\n}"
response = http.request(request)
puts response.read_body{
"snapshotId": "<string>"
}Post base scrapetrigger
Trigger a web scrape job and return a snapshot ID for polling
Required token scopes: base|read
curl --request POST \
--url https://app.teable.ai/api/base/%7BbaseId%7D/scrape/trigger \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
--header 'content-type: application/json' \
--data '{"datasetId":"string","inputs":[{"property1":"string","property2":"string"}],"discoverBy":"string","limit":1}'const url = 'https://app.teable.ai/api/base/%7BbaseId%7D/scrape/trigger';
const options = {
method: 'POST',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN',
'content-type': 'application/json'
},
body: '{"datasetId":"string","inputs":[{"property1":"string","property2":"string"}],"discoverBy":"string","limit":1}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}const http = require('https');
const options = {
method: 'POST',
hostname: 'app.teable.ai',
port: null,
path: '/api/base/%7BbaseId%7D/scrape/trigger',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN',
'content-type': 'application/json'
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
datasetId: 'string',
inputs: [{property1: 'string', property2: 'string'}],
discoverBy: 'string',
limit: 1
}));
req.end();import http.client
conn = http.client.HTTPSConnection("app.teable.ai")
payload = "{\"datasetId\":\"string\",\"inputs\":[{\"property1\":\"string\",\"property2\":\"string\"}],\"discoverBy\":\"string\",\"limit\":1}"
headers = {
'Authorization': "Bearer REPLACE_BEARER_TOKEN",
'content-type': "application/json"
}
conn.request("POST", "/api/base/%7BbaseId%7D/scrape/trigger", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.teable.ai/api/base/{baseId}/scrape/trigger",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'datasetId' => '<string>',
'inputs' => [
[
]
],
'discoverBy' => '<string>',
'limit' => 25
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.teable.ai/api/base/{baseId}/scrape/trigger"
payload := strings.NewReader("{\n \"datasetId\": \"<string>\",\n \"inputs\": [\n {}\n ],\n \"discoverBy\": \"<string>\",\n \"limit\": 25\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.teable.ai/api/base/{baseId}/scrape/trigger")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"datasetId\": \"<string>\",\n \"inputs\": [\n {}\n ],\n \"discoverBy\": \"<string>\",\n \"limit\": 25\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/base/{baseId}/scrape/trigger")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"datasetId\": \"<string>\",\n \"inputs\": [\n {}\n ],\n \"discoverBy\": \"<string>\",\n \"limit\": 25\n}"
response = http.request(request)
puts response.read_body{
"snapshotId": "<string>"
}授权
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
路径参数
请求体
Catalog dataset id (e.g. linkedin_person_profile) or a raw scraper id (gd_...) found via dataset search
Array of input objects for the dataset (e.g. [{ url: "..." }, { url: "..." }]). Each object represents one item to scrape; values keep their JSON type.
Show child attributes
Show child attributes
Discover mode of a raw gd_ dataset id, as dataset search lists it under modes: records are found from the inputs (keyword, profile URL...) instead of collected from URLs. Catalog ids carry their own mode.
1Records returned per input (a feed, search or comment list), default 10; a single page still yields one record
1 <= x <= 50响应
Scrape triggered, returns snapshot ID
此页面对您有帮助吗?

