Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
516 commits
Select commit Hold shift + click to select a range
c491175
Merge branch 'main' of https://github.com/ScrapeGraphAI/scrapegraph-sdk
VinciGit00 Jul 1, 2025
7d51e6c
ci(release): 1.0.0 [skip ci]
semantic-release-bot Jul 1, 2025
f2183da
feat: add search number example
VinciGit00 Jul 2, 2025
d4e6207
Merge pull request #41 from ScrapeGraphAI/update-search
VinciGit00 Jul 2, 2025
f06dc95
ci(release): 1.0.0 [skip ci]
semantic-release-bot Jul 2, 2025
df79102
feat: update versions
VinciGit00 Jul 2, 2025
b82f043
feat: update version
VinciGit00 Jul 2, 2025
1b7e4c6
ci(release): 1.0.0 [skip ci]
semantic-release-bot Jul 2, 2025
a534d71
fix: update
VinciGit00 Jul 2, 2025
0a1c117
ci(release): 1.0.0 [skip ci]
semantic-release-bot Jul 2, 2025
a2e2781
feat: update lock file
VinciGit00 Jul 8, 2025
7377137
ci(release): 1.1.0 [skip ci]
semantic-release-bot Jul 8, 2025
aaae9d5
feat: update a tag
VinciGit00 Jul 8, 2025
f33448e
ci(release): 1.14.0 [skip ci]
semantic-release-bot Jul 8, 2025
b607f77
fix: pyproject
VinciGit00 Jul 8, 2025
4101dd9
ci(release): 1.14.1 [skip ci]
semantic-release-bot Jul 8, 2025
ffaaba5
fix: broken sdk
VinciGit00 Jul 12, 2025
9869268
ci(release): 1.14.2 [skip ci]
semantic-release-bot Jul 12, 2025
d97c87a
Update README.md
VinciGit00 Jul 16, 2025
3fdcc59
feat: add python integration
VinciGit00 Jul 17, 2025
38b9c89
feat: add examples in javascript
VinciGit00 Jul 17, 2025
f55d78e
feat: update examples
VinciGit00 Jul 17, 2025
65aeab5
Merge pull request #44 from ScrapeGraphAI/pagination-integration
VinciGit00 Jul 18, 2025
cea1a21
ci(release): 1.15.0 [skip ci]
semantic-release-bot Jul 18, 2025
bef6881
feat: add cookies integration
VinciGit00 Jul 18, 2025
be15bf8
feat: add js
VinciGit00 Jul 18, 2025
cc6d7e8
feat add js info
VinciGit00 Jul 18, 2025
9b0ad77
doc: add examples
VinciGit00 Jul 19, 2025
e5db4c2
Merge branch 'main' into 42-i-cant-manage-to-extract-the-contents-of-…
VinciGit00 Jul 21, 2025
2e00eab
Merge pull request #45 from ScrapeGraphAI/42-i-cant-manage-to-extract…
VinciGit00 Jul 21, 2025
03cb490
ci(release): 1.16.0 [skip ci]
semantic-release-bot Jul 21, 2025
21c7371
feat: update crawl integrarion
VinciGit00 Jul 30, 2025
1764da6
ci(release): 1.17.0 [skip ci]
semantic-release-bot Jul 30, 2025
57b7e25
Update README.md
VinciGit00 Jul 30, 2025
c7a72cf
added test case and ci for test case
mdehsan873 Aug 4, 2025
b1213fa
Merge pull request #49 from ScrapeGraphAI/fix/ci-cd
VinciGit00 Aug 4, 2025
6243c67
update workflow and test case
mdehsan873 Aug 5, 2025
553024d
feat: add crawling markdown
VinciGit00 Aug 5, 2025
be1d863
fixed
mdehsan873 Aug 5, 2025
6fa6445
fixed
mdehsan873 Aug 5, 2025
aeac720
feat: add js files
VinciGit00 Aug 5, 2025
4c34233
add
mdehsan873 Aug 5, 2025
05e8629
Merge pull request #51 from ScrapeGraphAI/fix/ci-cd
mdehsan873 Aug 5, 2025
5996c37
fixed pyton test case
mdehsan873 Aug 5, 2025
d55ef29
fixed
mdehsan873 Aug 5, 2025
b81006d
hot fix
mdehsan873 Aug 5, 2025
cd68446
updated fake api key
mdehsan873 Aug 5, 2025
9f9a6b7
hot fix lint
mdehsan873 Aug 5, 2025
fd6b2f0
feat: add tests
VinciGit00 Aug 5, 2025
2504898
Merge branch 'update-smartcawler'
VinciGit00 Aug 5, 2025
822df45
ci(release): 1.18.0 [skip ci]
semantic-release-bot Aug 5, 2025
533e9a3
fix: linting errors
VinciGit00 Aug 6, 2025
e4cef43
ci(release): 1.18.1 [skip ci]
semantic-release-bot Aug 6, 2025
423baa0
fix: removedunused imports
VinciGit00 Aug 6, 2025
9364e85
Merge branch 'main' of https://github.com/ScrapeGraphAI/scrapegraph-sdk
VinciGit00 Aug 6, 2025
629e70d
ci(release): 1.18.2 [skip ci]
semantic-release-bot Aug 6, 2025
9996a07
add fiels
VinciGit00 Aug 6, 2025
763aff0
Merge branch 'main' of https://github.com/ScrapeGraphAI/scrapegraph-sdk
VinciGit00 Aug 6, 2025
28bce16
chore: add tests
VinciGit00 Aug 6, 2025
3cd97cd
feat: add file for python
VinciGit00 Aug 18, 2025
696527f
feat: add files
VinciGit00 Aug 18, 2025
0fce595
Merge pull request #53 from ScrapeGraphAI/agentic-scraper-integration
VinciGit00 Aug 18, 2025
3078b5c
ci(release): 1.19.0 [skip ci]
semantic-release-bot Aug 18, 2025
dc330cc
feat: add examples and md mode
VinciGit00 Aug 19, 2025
6dff775
ci(release): 1.20.0 [skip ci]
semantic-release-bot Aug 19, 2025
6aa0656
feat: add generate schema
VinciGit00 Aug 25, 2025
d13e7d5
add js
VinciGit00 Aug 25, 2025
7858db8
add tests
VinciGit00 Aug 25, 2025
2429668
feat: add examples
VinciGit00 Aug 25, 2025
2d657e6
feat: add files for htmlify
VinciGit00 Aug 25, 2025
eaff883
feat: add js files
VinciGit00 Aug 25, 2025
b97dfe9
feat: rebranding
VinciGit00 Aug 26, 2025
77ced99
add js examples
VinciGit00 Aug 26, 2025
c7ce16e
Merge pull request #55 from ScrapeGraphAI/htmlify-integration
VinciGit00 Sep 1, 2025
27c49fa
ci(release): 1.21.0 [skip ci]
semantic-release-bot Sep 1, 2025
d3d5497
feat: add files
VinciGit00 Sep 1, 2025
e72cc7c
Merge pull request #56 from ScrapeGraphAI/mock-info
VinciGit00 Sep 1, 2025
374ea70
ci(release): 1.22.0 [skip ci]
semantic-release-bot Sep 1, 2025
b373cd1
feat: add examples
VinciGit00 Sep 1, 2025
c0b2ead
feat: add files
VinciGit00 Sep 1, 2025
ebed648
Update agenticScraper.js
VinciGit00 Sep 1, 2025
f52cf87
Merge pull request #57 from ScrapeGraphAI/mock-info
VinciGit00 Sep 1, 2025
7365cb3
ci(release): 1.23.0 [skip ci]
semantic-release-bot Sep 1, 2025
320f621
added mock and plain text param
mdehsan873 Sep 3, 2025
918ad86
Merge pull request #58 from ScrapeGraphAI/added-mock-and-plain-text-p…
VinciGit00 Sep 3, 2025
7ad315f
feat: add new mock
VinciGit00 Sep 3, 2025
0074fde
ci(release): 1.24.0 [skip ci]
semantic-release-bot Sep 3, 2025
494bdaa
add new version
VinciGit00 Sep 4, 2025
4404b96
add scheduled jobs
Vikrant-Khedkar Sep 5, 2025
4999cb9
fix failing tests
Vikrant-Khedkar Sep 5, 2025
d5bbeb3
fixed bug
Vikrant-Khedkar Sep 5, 2025
15c01c6
Merge pull request #59 from ScrapeGraphAI/feat/add-scheduled-jobs
VinciGit00 Sep 8, 2025
4be49f6
feat: add cron jobs
VinciGit00 Sep 8, 2025
52f2119
ci(release): 1.25.0 [skip ci]
semantic-release-bot Sep 8, 2025
dd0a628
update version
VinciGit00 Sep 8, 2025
f9e5abd
Merge branch 'main' of https://github.com/ScrapeGraphAI/scrapegraph-sdk
VinciGit00 Sep 8, 2025
c841d5a
Update README.md
VinciGit00 Sep 8, 2025
ed15077
fix: removed unused name
VinciGit00 Sep 8, 2025
08514d3
fix: scheduled jobs
VinciGit00 Sep 8, 2025
91cd7e6
ci(release): 1.25.1 [skip ci]
semantic-release-bot Sep 8, 2025
1acd530
feat: refactoring of the example folder
VinciGit00 Sep 11, 2025
0fb3c3a
ci(release): 1.26.0 [skip ci]
semantic-release-bot Sep 11, 2025
231429e
feat: add user agent
VinciGit00 Sep 14, 2025
33ca224
Merge branch 'main' of https://github.com/ScrapeGraphAI/scrapegraph-sdk
VinciGit00 Sep 14, 2025
2b80310
ci(release): 1.27.0 [skip ci]
semantic-release-bot Sep 14, 2025
3b8d057
feat: add render_heavy
VinciGit00 Sep 16, 2025
bb4f6f3
Merge branch 'main' of https://github.com/ScrapeGraphAI/scrapegraph-sdk
VinciGit00 Sep 16, 2025
e86ad2d
ci(release): 1.28.0 [skip ci]
semantic-release-bot Sep 16, 2025
d2f40ee
feat: add render_heavy_js
VinciGit00 Sep 16, 2025
e5ec2fd
ci(release): 1.29.0 [skip ci]
semantic-release-bot Sep 16, 2025
3a724f5
Update test_python_render_heavy_js.py
VinciGit00 Sep 16, 2025
7bea8a5
Merge branch 'main' of https://github.com/ScrapeGraphAI/scrapegraph-sdk
VinciGit00 Sep 16, 2025
7a1f325
feat: add md mode in searchscraper
VinciGit00 Sep 17, 2025
75b1350
ci(release): 1.30.0 [skip ci]
semantic-release-bot Sep 17, 2025
274f81b
add new js version
VinciGit00 Sep 17, 2025
265a221
removed fils
VinciGit00 Sep 17, 2025
f9b5c6d
feat: add scrape endpoint
VinciGit00 Sep 17, 2025
2999fa1
ci(release): 1.31.0 [skip ci]
semantic-release-bot Sep 17, 2025
394beeb
feat: update smartcrawler with sitemamp functionalities
VinciGit00 Oct 6, 2025
753040f
ci(release): 1.32.0 [skip ci]
semantic-release-bot Oct 6, 2025
c9c6a02
Resolve merge conflicts: integrate schema generation and scheduled jo…
VinciGit00 Oct 6, 2025
bb87c1f
Clean up: remove test file that was moved
VinciGit00 Oct 6, 2025
1c144a2
Merge pull request #54 from ScrapeGraphAI/generate-schema
VinciGit00 Oct 6, 2025
28e6c95
ci(release): 1.33.0 [skip ci]
semantic-release-bot Oct 6, 2025
27f40ac
docs: update for agentic doc oriented development
lurenss Oct 8, 2025
e739e89
feat: add docstring
VinciGit00 Oct 8, 2025
754428a
feat: add sitemap endpoint
VinciGit00 Oct 8, 2025
bd4050c
feat: add sitemap example
VinciGit00 Oct 8, 2025
735a18c
Merge pull request #64 from ScrapeGraphAI/sitemap-endpoint-integration
VinciGit00 Oct 8, 2025
ba3ea4e
ci(release): 1.34.0 [skip ci]
semantic-release-bot Oct 8, 2025
88ed4a0
Merge pull request #63 from ScrapeGraphAI/add-docstring
VinciGit00 Oct 15, 2025
c014ef2
ci(release): 1.35.0 [skip ci]
semantic-release-bot Oct 15, 2025
76e3a58
feat: add stealth mode
VinciGit00 Oct 15, 2025
1b2fb30
Merge pull request #66 from ScrapeGraphAI/stealth-mode
VinciGit00 Oct 16, 2025
9965a4c
ci(release): 1.36.0 [skip ci]
semantic-release-bot Oct 16, 2025
49b7078
feat: update render_heavy_js
VinciGit00 Oct 23, 2025
2d0fece
ci(release): 1.37.0 [skip ci]
semantic-release-bot Oct 23, 2025
44093d3
feat: update js rendering
VinciGit00 Oct 23, 2025
e9e8f2c
Merge branch 'main' of https://github.com/ScrapeGraphAI/scrapegraph-sdk
VinciGit00 Oct 23, 2025
a68baa2
ci(release): 1.38.0 [skip ci]
semantic-release-bot Oct 23, 2025
a780889
feat: refactoring local scraping
VinciGit00 Nov 3, 2025
1a3d9ab
ci(release): 1.39.0 [skip ci]
semantic-release-bot Nov 3, 2025
1e35149
feat: add markdown for smartscraper
VinciGit00 Nov 4, 2025
382d647
Merge branch 'main' of https://github.com/ScrapeGraphAI/scrapegraph-sdk
VinciGit00 Nov 4, 2025
b496cad
ci(release): 1.40.0 [skip ci]
semantic-release-bot Nov 4, 2025
2464db6
feat: add health endpoint
VinciGit00 Nov 4, 2025
fc91303
Merge branch 'main' of https://github.com/ScrapeGraphAI/scrapegraph-sdk
VinciGit00 Nov 4, 2025
2e51ec6
feat: update health endpoint
VinciGit00 Nov 4, 2025
9d7fdd7
ci(release): 1.41.0 [skip ci]
semantic-release-bot Nov 4, 2025
6f01cab
feat: integrate Toonify library for token-efficient responses
VinciGit00 Nov 12, 2025
4963bb6
security: remove API key from example files and documentation
VinciGit00 Nov 12, 2025
03bdae6
Revert "feat: update health endpoint"
Vikrant-Khedkar Nov 14, 2025
72de2a7
chore(security): sanitize example cookies and test literals to avoid …
Vikrant-Khedkar Nov 14, 2025
61ec3a3
refactor: update console log formatting in advanced and complete agen…
Vikrant-Khedkar Nov 14, 2025
862f388
Merge pull request #69 from ScrapeGraphAI/revert/restore-js-sdk-2e51ec6
VinciGit00 Nov 14, 2025
6829888
ci(release): 1.41.1 [skip ci]
semantic-release-bot Nov 14, 2025
df3790b
Update package.json
VinciGit00 Nov 14, 2025
6b64cd7
add toonify endpoint
VinciGit00 Nov 14, 2025
f0efeec
feat: refactoring of the dependencies
VinciGit00 Nov 21, 2025
1288b58
ci(release): 1.42.0 [skip ci]
semantic-release-bot Nov 21, 2025
8ac6a55
feat: add rendering to the sdk
VinciGit00 Nov 26, 2025
c74b68b
ci(release): 1.43.0 [skip ci]
semantic-release-bot Nov 26, 2025
83eb90f
Merge branch 'main' into feature/toonify-integration
VinciGit00 Nov 28, 2025
dc6c62e
Merge pull request #67 from ScrapeGraphAI/feature/toonify-integration
VinciGit00 Nov 28, 2025
42004b2
ci(release): 1.44.0 [skip ci]
semantic-release-bot Nov 28, 2025
efc6644
removed pycache
VinciGit00 Dec 3, 2025
05f39e8
Merge branch 'main' of https://github.com/ScrapeGraphAI/scrapegraph-sdk
VinciGit00 Dec 3, 2025
a828efa
add limit
VinciGit00 Dec 23, 2025
c9f9121
Merge pull request #70 from ScrapeGraphAI/include-and-exclude-in-crawl
VinciGit00 Dec 23, 2025
cb8de4f
Add API banner image to README
VinciGit00 Dec 24, 2025
db89fe8
Update API banner link in README
VinciGit00 Dec 26, 2025
a868465
fix: update readme
VinciGit00 Jan 17, 2026
f4ff74c
ci(release): 1.44.1 [skip ci]
semantic-release-bot Jan 17, 2026
20f656a
feat: add webhook_url parameter to crawler endpoint
VinciGit00 Jan 22, 2026
549cc8e
Merge pull request #71 from ScrapeGraphAI/feat/add-webhook-url-to-crawl
VinciGit00 Jan 23, 2026
a0dddc2
ci(release): 1.45.0 [skip ci]
semantic-release-bot Jan 23, 2026
3375a71
update of the version
VinciGit00 Jan 26, 2026
eff197e
feat: add breadth
VinciGit00 Jan 26, 2026
5d5f17e
Merge pull request #73 from ScrapeGraphAI/breadth-parameter
VinciGit00 Jan 26, 2026
a4e2c95
ci(release): 1.46.0 [skip ci]
semantic-release-bot Jan 26, 2026
7f78cf2
chore: removed unused api
VinciGit00 Jan 26, 2026
8d2ae84
Merge branch 'main' of https://github.com/ScrapeGraphAI/scrapegraph-sdk
VinciGit00 Jan 26, 2026
c5ad1fb
Refactor documentation and remove JavaScript SDK
Vikrant-Khedkar Jan 27, 2026
78399d9
Merge pull request #74 from ScrapeGraphAI/remove-js
VinciGit00 Jan 27, 2026
c0cfb4f
feat: add location_geo_code parameter to SearchScraper
VinciGit00 Jan 27, 2026
0334910
Merge pull request #76 from ScrapeGraphAI/feat/add-geotargeting-searc…
VinciGit00 Jan 27, 2026
2de9a89
feat: add time_range parameter to SearchScraper
VinciGit00 Jan 28, 2026
4f8114f
Merge pull request #77 from ScrapeGraphAI/feat/add-time-range-searchs…
VinciGit00 Jan 28, 2026
b9c0f56
feat: add wait_ms parameter to SmartScraper, Scrape, and Markdownify …
VinciGit00 Feb 13, 2026
c6aa423
fix: remove trailing comma on headers field in ScrapeRequest model
VinciGit00 Feb 13, 2026
fd97447
Merge pull request #78 from ScrapeGraphAI/feat/add-wait-ms-parameter
VinciGit00 Feb 13, 2026
6734836
fix: resolve 51 pre-existing test failures across test suite
VinciGit00 Feb 13, 2026
c6c7529
Merge pull request #79 from ScrapeGraphAI/feat/add-wait-ms-parameter
VinciGit00 Feb 13, 2026
0a67ce5
feat: add wait_ms parameter to Crawler endpoint
VinciGit00 Feb 16, 2026
dbf7659
Merge pull request #80 from ScrapeGraphAI/feat/add-wait-ms-crawler
VinciGit00 Feb 17, 2026
070d95b
Update scrapegraph_burr_lancedb.ipynb
alph-ai[bot] Mar 25, 2026
2e77cd0
Update scrapegraph_langchain.ipynb
alph-ai[bot] Mar 25, 2026
024cdda
Update scrapegraph_burr_lancedb.ipynb
alph-ai[bot] Mar 26, 2026
58da820
Update scrapegraph_langchain.ipynb
alph-ai[bot] Mar 26, 2026
ea5e550
Update scrapegraph_llama_index.ipynb
alph-ai[bot] Mar 26, 2026
2247943
Update scrapegraph_sdk.ipynb
alph-ai[bot] Mar 26, 2026
9fec614
Update scrapegraph_llama_index.ipynb
alph-ai[bot] Mar 26, 2026
9bd6954
Update scrapegraph_langchain.ipynb
alph-ai[bot] Mar 26, 2026
d714a01
Update scrapegraph_langgraph.ipynb
alph-ai[bot] Mar 26, 2026
a5af753
Update crewai_integration.ipynb
alph-ai[bot] Mar 26, 2026
b5c368b
Update scrapegraph_sdk.ipynb
alph-ai[bot] Mar 26, 2026
bbd49d8
Update scrapegraph_llama_index.ipynb
alph-ai[bot] Mar 26, 2026
16f96c3
Update scrapegraph_langchain.ipynb
alph-ai[bot] Mar 26, 2026
d2f5cf6
Update scrapegraph_llama_index.ipynb
alph-ai[bot] Mar 26, 2026
152c05b
Update scrapegraph_langgraph_tavily.ipynb
alph-ai[bot] Mar 26, 2026
cdf06d7
Update scrapegraph_sdk.ipynb
alph-ai[bot] Mar 26, 2026
b023f98
Update scrapegraph_sdk.ipynb
alph-ai[bot] Mar 26, 2026
872cd11
Update scrapegraph_langgraph_tavily_mysql.ipynb
alph-ai[bot] Mar 26, 2026
e49fc81
Update llama_index_agent.ipynb
alph-ai[bot] Mar 26, 2026
e161db0
Merge pull request #81 from alph-notebooks/main
VinciGit00 Mar 30, 2026
97c7898
ci: reduce test matrix to Python 3.12 only and fix CI failures
VinciGit00 Apr 7, 2026
d105c85
chore: add deprecation notice for v1.x and bump to 1.12.3
VinciGit00 Apr 8, 2026
0c58efb
fix: update deprecation notice URL to official docs
VinciGit00 Apr 8, 2026
7aed60d
chore: remove .agent folder and clean up CLAUDE.md
FrancescoSaverioZuppichini Apr 14, 2026
731d70d
feat!: restructure as uv library project
FrancescoSaverioZuppichini Apr 14, 2026
60e99b6
feat: implement v2 SDK matching JS API 1:1
FrancescoSaverioZuppichini Apr 14, 2026
25dbdd8
feat: add examples matching JS SDK
FrancescoSaverioZuppichini Apr 14, 2026
e1d8033
refactor: merge types into schemas, all Pydantic
FrancescoSaverioZuppichini Apr 14, 2026
45846ba
fix: use ConfigDict for Pydantic model_config
FrancescoSaverioZuppichini Apr 14, 2026
d1faf57
feat: add integration tests matching JS SDK
FrancescoSaverioZuppichini Apr 14, 2026
84400ff
feat: use Pydantic alias_generator, add async examples, update README
FrancescoSaverioZuppichini Apr 14, 2026
22dbab5
chore: update .gitignore, remove update-requirements.yml
FrancescoSaverioZuppichini Apr 14, 2026
fc8bd04
chore: simplify CI workflows for uv-based project
FrancescoSaverioZuppichini Apr 14, 2026
2b1f5fe
feat: add unit tests with mocked httpx (28 tests)
FrancescoSaverioZuppichini Apr 14, 2026
1637a05
chore: format code with ruff, add ruff config
FrancescoSaverioZuppichini Apr 14, 2026
3b4990c
chore: fix lint for tests, add per-file ignores
FrancescoSaverioZuppichini Apr 14, 2026
e9fbc47
docs: add CONTRIBUTING.md with lint/format instructions
FrancescoSaverioZuppichini Apr 14, 2026
b190d03
docs: update CONTRIBUTING.md to match JS SDK structure
FrancescoSaverioZuppichini Apr 14, 2026
8c59f38
refactor: return Pydantic objects instead of raw dicts
FrancescoSaverioZuppichini Apr 14, 2026
500b442
ci: test on Python 3.12 and 3.14
FrancescoSaverioZuppichini Apr 15, 2026
b7822f2
fix: update examples for Pydantic models and add dotenv loading
FrancescoSaverioZuppichini Apr 15, 2026
f53c01e
docs: remove mypy from CLAUDE.md, CI only uses ruff
FrancescoSaverioZuppichini Apr 15, 2026
13902a9
fix: update default API URL and rename SGAI_TIMEOUT_S to SGAI_TIMEOUT
FrancescoSaverioZuppichini Apr 15, 2026
bac1751
fix: update health test to mock httpx.Client.request
FrancescoSaverioZuppichini Apr 15, 2026
09ec3ca
feat: add monitor.activity() endpoint for polling monitor results
FrancescoSaverioZuppichini Apr 15, 2026
3ad0eee
style: apply ruff format to async_client.py
VinciGit00 Apr 15, 2026
d00efeb
refactor: match monitor examples to JS SDK style
FrancescoSaverioZuppichini Apr 15, 2026
6606a27
chore: link banner image to scrapegraphai.com and remove tracked .DS_…
VinciGit00 Apr 16, 2026
b9e3159
Merge pull request #83 from ScrapeGraphAI/chore/deprecation-notice-v1
VinciGit00 Apr 18, 2026
ed003c8
fix(ci): update repository URL to scrapegraph-py
VinciGit00 Apr 18, 2026
3b2f90f
fix: trigger release workflow
VinciGit00 Apr 18, 2026
844614b
ci(release): 1.47.0 [skip ci]
semantic-release-bot Apr 18, 2026
7eca9cc
chore: merge main into feat/v2-migration
VinciGit00 Apr 18, 2026
f61c780
chore: remove .python-version
VinciGit00 Apr 18, 2026
2dd5809
Merge pull request #84 from ScrapeGraphAI/feat/v2-migration
VinciGit00 Apr 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v3
- run: uv sync --frozen
- run: uv run ruff check src/ tests/
- run: uv run ruff format --check src/

test:
runs-on: ubuntu-latest
strategy:
matrix:
python: ["3.12", "3.14"]
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v3
- run: uv python install ${{ matrix.python }}
- run: uv sync --python ${{ matrix.python }}
- run: uv run pytest tests/test_client.py -v
63 changes: 63 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '42 19 * * 5'

jobs:
analyze:
name: Analyze
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners
# Consider using larger runners for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
# required for all workflows
security-events: write

# only required for workflows in private repositories
actions: read
contents: read

strategy:
fail-fast: false
matrix:
language: [ 'python' ]
# CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ]
# Use only 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support

steps:
- name: Checkout repository
uses: actions/checkout@v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
39 changes: 39 additions & 0 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Dependency Review Action
#
# This Action will scan dependency manifest files that change as part of a Pull Request,
# surfacing known-vulnerable versions of the packages declared or updated in the PR.
# Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable
# packages will be blocked from merging.
#
# Source repository: https://github.com/actions/dependency-review-action
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
name: 'Dependency review'
on:
pull_request:
branches: [ "main" ]

# If using a dependency submission action in this workflow this permission will need to be set to:
#
# permissions:
# contents: write
#
# https://docs.github.com/en/enterprise-cloud@latest/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api
permissions:
contents: read
# Write permissions for pull-requests are required for using the `comment-summary-in-pr` option, comment out if you aren't using this option
pull-requests: write

jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- name: 'Checkout repository'
uses: actions/checkout@v4
- name: 'Dependency Review'
uses: actions/dependency-review-action@v4
# Commonly enabled options, see https://github.com/actions/dependency-review-action#configuration-options for all available options.
with:
comment-summary-in-pr: always
# fail-on-severity: moderate
# deny-licenses: GPL-1.0-or-later, LGPL-2.0-or-later
# retry-on-snapshot-warnings: true
32 changes: 32 additions & 0 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Publish to PyPI

on:
release:
types: [published]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v3
- run: uv sync --frozen
- run: uv run pytest tests/test_client.py -v

publish:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v3

- name: Build
run: uv build

- name: Publish to PyPI
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
run: |
uv pip install twine
uv run twine upload dist/*
46 changes: 46 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Release

on:
push:
branches: [main]

jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write
id-token: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false

- uses: astral-sh/setup-uv@v3

- uses: actions/setup-node@v4
with:
node-version: 20

- name: Build
run: |
uv sync --frozen
uv build

- name: Semantic Release
uses: cycjimmy/semantic-release-action@v4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
with:
semantic_version: 23
extra_plugins: |
semantic-release-pypi@3
@semantic-release/git
@semantic-release/commit-analyzer@12
@semantic-release/release-notes-generator@13
@semantic-release/github@10
@semantic-release/changelog@6
conventional-changelog-conventionalcommits@7
47 changes: 47 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
.env
.env.*
*.csv

# OS
.DS_Store
**/.DS_Store

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
dist/
*.egg-info/
*.egg
.eggs/

# Virtual environments
venv/
.venv/
env/

# Testing
.pytest_cache/
.coverage
htmlcov/
.tox/
.nox/

# Linting/formatting
.ruff_cache/
.mypy_cache/

# IDE
.idea/
.vscode/
*.swp
*.swo

# Build artifacts
*.whl

# Misc
.bfg-report/
116 changes: 116 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Project Overview

**scrapegraph-py** is the official Python SDK for the ScrapeGraph AI API. It provides a Python client for intelligent web scraping powered by AI.

## Repository Structure

```
scrapegraph-py/
├── scrapegraph_py/ # Python SDK source
├── tests/ # Test suite
├── examples/ # Usage examples
├── docs/ # MkDocs documentation
├── cookbook/ # Tutorials and recipes
└── .github/workflows/ # CI/CD
```

## Tech Stack

- **Language**: Python 3.10+
- **Package Manager**: uv (recommended) or pip
- **Core Dependencies**: requests, pydantic, python-dotenv, aiohttp
- **Testing**: pytest, pytest-asyncio, pytest-mock, aioresponses
- **Code Quality**: ruff
- **Build**: hatchling
- **Release**: semantic-release

## Commands

```bash
# Install
uv sync

# Test
uv run pytest tests/ -v

# Format & lint
uv run ruff format src tests
uv run ruff check src tests --fix

# Build
uv build
```

## Before completing any task

Always run these commands before committing or saying a task is done:

```bash
uv run ruff format src tests
uv run ruff check src tests --fix
uv build
uv run pytest tests/ -v
```

No exceptions.

## Architecture

**Core Components:**

1. **Clients** (`scrapegraph_py/`):
- `client.py` - Sync client
- `async_client.py` - Async client

2. **Models** (`scrapegraph_py/models/`):
- Pydantic models for request/response validation

3. **Config** (`scrapegraph_py/`):
- `config.py` - API base URL, timeouts
- `exceptions.py` - Custom exceptions

## API Endpoints

| Endpoint | Method | Purpose |
|----------|--------|---------|
| SmartScraper | `smartscraper()` | AI data extraction |
| SearchScraper | `searchscraper()` | Multi-URL search |
| Markdownify | `markdownify()` | HTML to Markdown |
| Crawler | `crawler()` | Sitemap & crawling |
| AgenticScraper | `agentic_scraper()` | Browser automation |
| Scrape | `scrape()` | Basic HTML fetch |
| Credits | `get_credits()` | Balance check |

## Adding New Endpoint

1. Add models in `scrapegraph_py/models/`
2. Add sync method to `client.py`
3. Add async method to `async_client.py`
4. Export in `models/__init__.py`
5. Add tests in `tests/`

## Environment Variables

- `SGAI_API_KEY` - API key for authentication

## Usage

```python
from scrapegraph_py import Client

client = Client(api_key="your-key")
response = client.smartscraper(
website_url="https://example.com",
user_prompt="Extract title"
)
print(response.result)
```

## Links

- [API Docs](https://docs.scrapegraphai.com)
- [PyPI](https://pypi.org/project/scrapegraph-py/)
Loading
Loading