Olostep - Web Scraping & Crawling API
Web scraping, crawling, and AI-powered answer extraction at scale
How to use it
- Hit Copy the whole skill.
- Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
ChatGPT: make a Project and paste it into Instructions.
Neither? Paste it at the top of a new chat — it works for that chat. - Describe your job in plain words. The AI follows the skill from there.
npx degit gooseworks-ai/goose-skills/skills/research-tools/capabilities/web-scraping-olostep#main ~/.claude/skills/web-scraping-olostepFor one project only, change the path to .claude/skills/web-scraping-olostep.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Show the full text243 lines
Olostep - Web Scraping & Crawling API
Setup
Read your credentials from ~/.gooseworks/credentials.json:
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login
All endpoints use Bearer auth: -H "Authorization: Bearer $GOOSEWORKS_API_KEY"
Powerful web scraping, crawling, and AI-powered content extraction.
Capabilities
- Create Scrape: Initiate a web page scrape
- Create Answer: The AI will perform actions like searching and browsing web pages to find the answer to the provided task
- Maps: This endpoint allows users to get all the urls on a certain website
- Start Crawl: Starts a new crawl
- Start Batch: Starts a new batch
- Batch Items: Retrieves the list of items processed for a batch
- Crawl Info: Fetches information about a specific crawl
- Crawl Pages: Fetches the list of pages for a specific crawl
- Get Answer: This endpoint retrieves a previously completed answer by its ID
- Get Scrape: Can be used to retrieve response for a scrape
- Batch Info: Retrieves the status and progress information about a batch
- Retrieve Content: Retrieve page content of processed batches and crawls urls
Usage
Create Scrape
Initiate a web page scrape
Parameters:
- url_to_scrape* (string) - The URL to start scraping from.
- wait_before_scraping (integer) - Time to wait in milliseconds before starting the scraping.
- formats (string[]) - Formats in which you want the content.
- remove_css_selectors (string) - Option to remove certain CSS selectors from the content. Optionally, you can also pass a JSON stringified array of specific selectors you want to remove. The CSS selectors removed when this option is set to default are ['nav','footer','script','style','noscript','svg',[role=alert],[role=banner],[role=dialog],[role=alertdialog],[role=region][aria-label*=skip i],[aria-modal=true]] Available options:
default,none,array - actions (object[]) - Actions to perform on the page before getting the content.
- country (string) - Residential country to load the request from. Supported values are: * US (United States) * CA (Canada) * IT (Italy) * IN (India) * GB (England) * JP (Japan) * MX (Mexico) * AU (Australia) * ID (Indonesia) * UA (UAE) * RU (Russia) * RANDOM Some operations, like scraping Google Search and Google News, support all countries.
- transformer (string) - Specify the HTML transformer to use, if any. Postlight's Mercury Parser library is used to remove ads and other unwanted content from the scraped content. Available options:
postlight,none - remove_images (boolean) - Option to remove images from the scraped content. Defaults to false.
- remove_class_names (string[]) - List of class names to remove from the content.
- parser (object) - When defining json as a format, you can use this parameter to specify the parser to use. Parsers are useful to extract structured content from web pages. Olostep has a few parsers built in for most common web pages, and you can also create your own parsers.
- llm_extract (object)
- links_on_page (object) - With this option, you can get all the links present on the page you scrape.
- screen_size (object) - Configuration for screen size. Preset dimensions are available through screen_type: desktop (1920x1080), mobile (414x896), or default (768x1024).
- metadata (object) - User-defined metadata. Not supported yet
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"olostep","path":"/v1/scrapes","body":{"url_to_scrape":"https://example.com/page"}}'
Create Answer
The AI will perform actions like searching and browsing web pages to find the answer to the provided task. Execution time is 3-30s depending upon complexity. For longer tasks, use the agent endpoint instead.
Parameters:
- task* (string) - The task to be performed.
- json_format (object) - The desired output JSON object with empty values as a schema, or simply describe the data you want as a string.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"olostep","path":"/v1/answers","body":{"task":"What are the latest AI developments?"}}'
Maps
This endpoint allows users to get all the urls on a certain website. It can take up to 120 seconds for complex websites. For large websites, results are paginated using cursor-based pagination
Parameters:
- url* (string) - The URL of the website for which you want the links
- search_query (string) - An optional search query to sort the links by search relevance.
- top_n (number) - An optional number to limit to only top n links for a search query.
- include_subdomain (boolean) - Include subdomains of the given URL.
trueby default. - include_urls (string[]) - URL path patterns to include using glob syntax. For example:
/blog/**to only include blog URLs. Only URLs matching these patterns will be returned. - exclude_urls (string[]) - URL path patterns to exclude using glob syntax. For example:
/careers/**. Excluded URLs will supersede included URLs. - cursor (string) - OPTIONAL: Pagination cursor from a previous response. When provided, returns the next set of URLs from where the previous request left off due to response size limit.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"olostep","path":"/v1/maps","body":{"url":"https://example.com"}}'
Start Crawl
Starts a new crawl. You receive a id to track the progress. The operation may take 1-10 mins depending upon the site and depth and pages parameters.
Parameters:
- start_url* (string) - The starting point of the crawl.
- max_pages* (number) - Maximum number of pages to crawl. Recommended for most use cases like crawling an entire website.
- include_urls (string[]) - URL path patterns to include in the crawl using glob syntax. Defaults to
/**which includes all URLs. Use patterns like/blog/**to crawl specific sections (e.g., only blog pages),/products/*.htmlfor product pages, or multiple patterns for different sections. Supports standard glob features like * (any characters) and ** (recursive matching). - exclude_urls (string[]) - URL path names in glob pattern to exclude. For example:
/careers/**. Excluded URLs will supersede included URLs. - max_depth (number) - Maximum depth of the crawl. Useful to extract only up to n-degree of links.
- include_external (boolean) - Crawl first-degree external links.
- include_subdomain (boolean) - Include subdomains of the website.
falseby default. - search_query (string) - An optional search query to find specific links and also sort the results by relevance.
- top_n (number) - An optional number to only crawl the top N most relevant links on every page as per search query.
- webhook_url (string) - An optional POST request endpoint called when this crawl is completed. The body of the request will be same as the response of this
v1/crawls/{crawl_id}endpoint. - timeout (number) - End the crawl after n seconds with the pages completed until then. May take ~10s extra from provided timeout.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"olostep","path":"/v1/crawls"}'
"start_url": "https://example.com",
"max_pages": 100
}'
Start Batch
Starts a new batch. You receive an id that you can use to track the progress of the batch as shown here. Note: Processing time is constant regardless of batch size
Parameters:
- items* (object[]) - Array of items to be processed in the batch.
- country (string) - Country for the batch execution. Provide in ISO 3166-1 alpha-2 codes like US(USA), IN(India), etc
- parser (object) - You can use this parameter to specify the parser to use. Parsers are useful to extract structured content from web pages. Olostep has a few parsers built in for most common web pages, and you can also create your own parsers.
- links_on_page (object) - Get all the links present on each page in the batch.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"olostep","path":"/v1/batches"}'
"items": [
{"url_to_scrape": "https://example.com/page1"},
{"url_to_scrape": "https://example.com/page2"}
]
}'
Batch Items
Retrieves the list of items processed for a batch. You can then use the retrieve_id to get the content with the Retrieve Endpoint
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"olostep","path":"/v1/batches/{batch_id}/items"}'
Crawl Info
Fetches information about a specific crawl.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"olostep","path":"/v1/crawls/{crawl_id}"}'
Crawl Pages
Fetches the list of pages for a specific crawl.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"olostep","path":"/v1/crawls/{crawl_id}/pages"}'
Get Answer
This endpoint retrieves a previously completed answer by its ID.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"olostep","path":"/v1/answers/{answer_id}"}'
Get Scrape
Can be used to retrieve response for a scrape.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"olostep","path":"/v1/scrapes/{scrape_id}"}'
Batch Info
Retrieves the status and progress information about a batch. To retrieve the content for a batch, see here
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"olostep","path":"/v1/batches/{batch_id}"}'
Retrieve Content
Retrieve page content of processed batches and crawls urls.
Parameters:
- retrieve_id* (string) - The ID of the page content to retrieve. Available in the response of
/v1/crawls/{crawl_id}/pages,/v1/scrapes/{scrape_id}or/v1/batches/{batch_id}/itemsendpoints - formats (string[]) - Optional array to retrieve only specific formats in production. If not provided, all formats will be returned.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"olostep","path":"/v1/retrieve","body":{"retrieve_id":"abc123"}}'
Use Cases
- Data Collection: Gather data from websites at scale
- Content Monitoring: Track changes on competitor sites
- Research Automation: Get AI-synthesized answers from web sources
- SEO Analysis: Crawl and analyze site structure
Discover More
For full endpoint details and parameters:
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"olostep API endpoints"}' List all endpoints
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"olostep","path":"/v1/scrapes"}' # Get endpoint details
| 1 | |
| 2 | name web-scraping-olostep |
| 3 | description Web scraping, crawling, and AI-powered answer extraction at scale |
| 4 | source orthogonal |
| 5 | |
| 6 | |
| 7 | |
| 8 | # Olostep - Web Scraping & Crawling API |
| 9 | |
| 10 | ## Setup |
| 11 | |
| 12 | Read your credentials from ~/.gooseworks/credentials.json: |
| 13 | |
| 14 | export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])") |
| 15 | export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))") |
| 16 | |
| 17 | |
| 18 | If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login` |
| 19 | |
| 20 | All endpoints use Bearer auth: `-H "Authorization: Bearer $GOOSEWORKS_API_KEY"` |
| 21 | |
| 22 | |
| 23 | Powerful web scraping, crawling, and AI-powered content extraction. |
| 24 | |
| 25 | ## Capabilities |
| 26 | |
| 27 | **Create Scrape**: Initiate a web page scrape |
| 28 | **Create Answer**: The AI will perform actions like searching and browsing web pages to find the answer to the provided task |
| 29 | **Maps**: This endpoint allows users to get all the urls on a certain website |
| 30 | **Start Crawl**: Starts a new crawl |
| 31 | **Start Batch**: Starts a new batch |
| 32 | **Batch Items**: Retrieves the list of items processed for a batch |
| 33 | **Crawl Info**: Fetches information about a specific crawl |
| 34 | **Crawl Pages**: Fetches the list of pages for a specific crawl |
| 35 | **Get Answer**: This endpoint retrieves a previously completed answer by its ID |
| 36 | **Get Scrape**: Can be used to retrieve response for a scrape |
| 37 | **Batch Info**: Retrieves the status and progress information about a batch |
| 38 | **Retrieve Content**: Retrieve page content of processed batches and crawls urls |
| 39 | |
| 40 | ## Usage |
| 41 | |
| 42 | ### Create Scrape |
| 43 | Initiate a web page scrape |
| 44 | |
| 45 | Parameters: |
| 46 | url_to_scrape* (string) - The URL to start scraping from. |
| 47 | wait_before_scraping (integer) - Time to wait in milliseconds before starting the scraping. |
| 48 | formats (string[]) - Formats in which you want the content. |
| 49 | remove_css_selectors (string) - Option to remove certain CSS selectors from the content. Optionally, you can also pass a JSON stringified array of specific selectors you want to remove. The CSS selectors removed when this option is set to default are ['nav','footer','script','style','noscript','svg',[role=alert],[role=banner],[role=dialog],[role=alertdialog],[role=region][aria-label*=skip i],[aria-modal=true]] Available options: `default`, `none`, `array` |
| 50 | actions (object[]) - Actions to perform on the page before getting the content. |
| 51 | country (string) - Residential country to load the request from. Supported values are: * US (United States) * CA (Canada) * IT (Italy) * IN (India) * GB (England) * JP (Japan) * MX (Mexico) * AU (Australia) * ID (Indonesia) * UA (UAE) * RU (Russia) * RANDOM Some operations, like scraping Google Search and Google News, support all countries. |
| 52 | transformer (string) - Specify the HTML transformer to use, if any. Postlight's Mercury Parser library is used to remove ads and other unwanted content from the scraped content. Available options: `postlight`, `none` |
| 53 | remove_images (boolean) - Option to remove images from the scraped content. Defaults to false. |
| 54 | remove_class_names (string[]) - List of class names to remove from the content. |
| 55 | parser (object) - When defining json as a format, you can use this parameter to specify the parser to use. Parsers are useful to extract structured content from web pages. Olostep has a few parsers built in for most common web pages, and you can also create your own parsers. |
| 56 | llm_extract (object) |
| 57 | links_on_page (object) - With this option, you can get all the links present on the page you scrape. |
| 58 | screen_size (object) - Configuration for screen size. Preset dimensions are available through screen_type: desktop (1920x1080), mobile (414x896), or default (768x1024). |
| 59 | metadata (object) - User-defined metadata. Not supported yet |
| 60 | |
| 61 | |
| 62 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 63 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 64 | -H "Content-Type: application/json" \ |
| 65 | -d '{"api":"olostep","path":"/v1/scrapes","body":{"url_to_scrape":"https://example.com/page"}}' |
| 66 | |
| 67 | |
| 68 | ### Create Answer |
| 69 | The AI will perform actions like searching and browsing web pages to find the answer to the provided task. Execution time is 3-30s depending upon complexity. For longer tasks, use the agent endpoint instead. |
| 70 | |
| 71 | Parameters: |
| 72 | task* (string) - The task to be performed. |
| 73 | json_format (object) - The desired output JSON object with empty values as a schema, or simply describe the data you want as a string. |
| 74 | |
| 75 | |
| 76 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 77 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 78 | -H "Content-Type: application/json" \ |
| 79 | -d '{"api":"olostep","path":"/v1/answers","body":{"task":"What are the latest AI developments?"}}' |
| 80 | |
| 81 | |
| 82 | ### Maps |
| 83 | This endpoint allows users to get all the urls on a certain website. It can take up to 120 seconds for complex websites. For large websites, results are paginated using cursor-based pagination |
| 84 | |
| 85 | Parameters: |
| 86 | url* (string) - The URL of the website for which you want the links |
| 87 | search_query (string) - An optional search query to sort the links by search relevance. |
| 88 | top_n (number) - An optional number to limit to only top n links for a search query. |
| 89 | include_subdomain (boolean) - Include subdomains of the given URL. `true` by default. |
| 90 | include_urls (string[]) - URL path patterns to include using glob syntax. For example: `/blog/**` to only include blog URLs. Only URLs matching these patterns will be returned. |
| 91 | exclude_urls (string[]) - URL path patterns to exclude using glob syntax. For example: `/careers/**`. Excluded URLs will supersede included URLs. |
| 92 | cursor (string) - OPTIONAL: Pagination cursor from a previous response. When provided, returns the next set of URLs from where the previous request left off due to response size limit. |
| 93 | |
| 94 | |
| 95 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 96 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 97 | -H "Content-Type: application/json" \ |
| 98 | -d '{"api":"olostep","path":"/v1/maps","body":{"url":"https://example.com"}}' |
| 99 | |
| 100 | |
| 101 | ### Start Crawl |
| 102 | Starts a new crawl. You receive a `id` to track the progress. The operation may take 1-10 mins depending upon the site and depth and pages parameters. |
| 103 | |
| 104 | Parameters: |
| 105 | start_url* (string) - The starting point of the crawl. |
| 106 | max_pages* (number) - Maximum number of pages to crawl. Recommended for most use cases like crawling an entire website. |
| 107 | include_urls (string[]) - URL path patterns to include in the crawl using glob syntax. Defaults to `/**` which includes all URLs. Use patterns like `/blog/**` to crawl specific sections (e.g., only blog pages), `/products/*.html` for product pages, or multiple patterns for different sections. Supports standard glob features like * (any characters) and ** (recursive matching). |
| 108 | exclude_urls (string[]) - URL path names in glob pattern to exclude. For example: `/careers/**`. Excluded URLs will supersede included URLs. |
| 109 | max_depth (number) - Maximum depth of the crawl. Useful to extract only up to n-degree of links. |
| 110 | include_external (boolean) - Crawl first-degree external links. |
| 111 | include_subdomain (boolean) - Include subdomains of the website. `false` by default. |
| 112 | search_query (string) - An optional search query to find specific links and also sort the results by relevance. |
| 113 | top_n (number) - An optional number to only crawl the top N most relevant links on every page as per search query. |
| 114 | webhook_url (string) - An optional POST request endpoint called when this crawl is completed. The body of the request will be same as the response of this [`v1/crawls/{crawl_id}`] endpoint. |
| 115 | timeout (number) - End the crawl after n seconds with the pages completed until then. May take ~10s extra from provided timeout. |
| 116 | |
| 117 | |
| 118 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 119 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 120 | -H "Content-Type: application/json" \ |
| 121 | -d '{"api":"olostep","path":"/v1/crawls"}' |
| 122 | "start_url": "https://example.com", |
| 123 | "max_pages": 100 |
| 124 | }' |
| 125 | |
| 126 | |
| 127 | ### Start Batch |
| 128 | Starts a new batch. You receive an `id` that you can use to track the progress of the batch as shown [here]. Note: Processing time is constant regardless of batch size |
| 129 | |
| 130 | Parameters: |
| 131 | items* (object[]) - Array of items to be processed in the batch. |
| 132 | country (string) - Country for the batch execution. Provide in ISO 3166-1 alpha-2 codes like US(USA), IN(India), etc |
| 133 | parser (object) - You can use this parameter to specify the parser to use. Parsers are useful to extract structured content from web pages. Olostep has a few parsers built in for most common web pages, and you can also create your own parsers. |
| 134 | links_on_page (object) - Get all the links present on each page in the batch. |
| 135 | |
| 136 | |
| 137 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 138 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 139 | -H "Content-Type: application/json" \ |
| 140 | -d '{"api":"olostep","path":"/v1/batches"}' |
| 141 | "items": [ |
| 142 | {"url_to_scrape": "https://example.com/page1"}, |
| 143 | {"url_to_scrape": "https://example.com/page2"} |
| 144 | ] |
| 145 | }' |
| 146 | |
| 147 | |
| 148 | ### Batch Items |
| 149 | Retrieves the list of items processed for a batch. You can then use the `retrieve_id` to get the content with the Retrieve Endpoint |
| 150 | |
| 151 | |
| 152 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 153 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 154 | -H "Content-Type: application/json" \ |
| 155 | -d '{"api":"olostep","path":"/v1/batches/{batch_id}/items"}' |
| 156 | |
| 157 | |
| 158 | ### Crawl Info |
| 159 | Fetches information about a specific crawl. |
| 160 | |
| 161 | |
| 162 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 163 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 164 | -H "Content-Type: application/json" \ |
| 165 | -d '{"api":"olostep","path":"/v1/crawls/{crawl_id}"}' |
| 166 | |
| 167 | |
| 168 | ### Crawl Pages |
| 169 | Fetches the list of pages for a specific crawl. |
| 170 | |
| 171 | |
| 172 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 173 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 174 | -H "Content-Type: application/json" \ |
| 175 | -d '{"api":"olostep","path":"/v1/crawls/{crawl_id}/pages"}' |
| 176 | |
| 177 | |
| 178 | ### Get Answer |
| 179 | This endpoint retrieves a previously completed answer by its ID. |
| 180 | |
| 181 | |
| 182 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 183 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 184 | -H "Content-Type: application/json" \ |
| 185 | -d '{"api":"olostep","path":"/v1/answers/{answer_id}"}' |
| 186 | |
| 187 | |
| 188 | ### Get Scrape |
| 189 | Can be used to retrieve response for a scrape. |
| 190 | |
| 191 | |
| 192 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 193 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 194 | -H "Content-Type: application/json" \ |
| 195 | -d '{"api":"olostep","path":"/v1/scrapes/{scrape_id}"}' |
| 196 | |
| 197 | |
| 198 | ### Batch Info |
| 199 | Retrieves the status and progress information about a batch. To retrieve the content for a batch, see here |
| 200 | |
| 201 | |
| 202 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 203 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 204 | -H "Content-Type: application/json" \ |
| 205 | -d '{"api":"olostep","path":"/v1/batches/{batch_id}"}' |
| 206 | |
| 207 | |
| 208 | ### Retrieve Content |
| 209 | Retrieve page content of processed batches and crawls urls. |
| 210 | |
| 211 | Parameters: |
| 212 | retrieve_id* (string) - The ID of the page content to retrieve. Available in the response of `/v1/crawls/{crawl_id}/pages`, `/v1/scrapes/{scrape_id}` or `/v1/batches/{batch_id}/items` endpoints |
| 213 | formats (string[]) - Optional array to retrieve only specific formats in production. If not provided, all formats will be returned. |
| 214 | |
| 215 | |
| 216 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 217 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 218 | -H "Content-Type: application/json" \ |
| 219 | -d '{"api":"olostep","path":"/v1/retrieve","body":{"retrieve_id":"abc123"}}' |
| 220 | |
| 221 | |
| 222 | ## Use Cases |
| 223 | |
| 224 | **Data Collection**: Gather data from websites at scale |
| 225 | **Content Monitoring**: Track changes on competitor sites |
| 226 | **Research Automation**: Get AI-synthesized answers from web sources |
| 227 | **SEO Analysis**: Crawl and analyze site structure |
| 228 | |
| 229 | ## Discover More |
| 230 | |
| 231 | For full endpoint details and parameters: |
| 232 | |
| 233 | |
| 234 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \ |
| 235 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 236 | -H "Content-Type: application/json" \ |
| 237 | -d '{"prompt":"olostep API endpoints"}' List all endpoints |
| 238 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \ |
| 239 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 240 | -H "Content-Type: application/json" \ |
| 241 | -d '{"api":"olostep","path":"/v1/scrapes"}' # Get endpoint details |
| 242 | |
| 243 |