RedPlanetHQ / RedPlanetHQ/core
New Integration: Firecrawl
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 194
- Avg merge
- 12m
- Merged PRs (30d)
- 2
Description
Description
Add Firecrawl integration to sync web scraping results, crawl data, and extracted structured content into CORE.
Reference Implementations
Existing Integrations (use as templates)
integrations/github/- API-based data integrationintegrations/linear/- Project management integrationintegrations/slack/- For reference
Required Files Structure
integrations/firecrawl/
├── src/
│ ├── index.ts # Main entry, API key spec
│ ├── schedule.ts # Sync logic
│ ├── utils.ts # Firecrawl API utilities
│ ├── account-create.ts # API key setup
│ └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md
Firecrawl API Integration
Authentication Setup
- Use API Key authentication (Bearer token)
- API keys are generated at firecrawl.dev dashboard
- Base URL:
https://api.firecrawl.dev/v1
Key Endpoints
POST /scrape- Scrape a single URL, returns markdown/HTML/structured dataPOST /crawl- Crawl an entire website recursively, returns all subpagesGET /crawl/{id}- Check crawl job statusPOST /map- URL discovery and sitemap generationPOST /extract- Extract structured data using LLM
Output Formats
- Markdown, HTML, rawHtml, screenshot, links, JSON, branding
Events to Track
- Scrape Jobs - Single URL scrape completions with extracted content
- Crawl Jobs - Multi-page crawl progress and completion
- Map Results - URL discovery results
- Extract Results - Structured data extraction completions
Implementation Tasks
- Set up basic integration structure following
integrations/github/src/index.tspattern - Implement API key authentication flow in
account-create.ts - Create API utilities in
utils.tsfor scrape, crawl, map, and extract endpoints - Implement sync logic in
schedule.tsfor polling crawl/scrape job results - Convert scrape/crawl results to CORE activity format
- Add error handling and rate limiting (500 free credits, then paid plans)
- Create integration documentation
- Add to
integrations/README.md
Technical Notes
- Firecrawl handles JavaScript-rendered dynamic content automatically
- Crawl jobs are asynchronous - need polling via
GET /crawl/{id} - Free tier: 500 scraped pages, then Hobby/Standard/Growth plans
- SDKs available for Python and Node.js
- Consider webhook support for async job completion notifications
Resources
Labels
enhancement, integration, new-feature
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading integrations/github/src/index.ts and the integrations/linear/ and integrations/slack/ directories, then review Firecrawl's documented API endpoints and authentication. Implement the listed integrations/firecrawl/ files for API-key setup, scrape, crawl, map, and extract operations, including polling and activity formatting. Done means the integration structure, documentation, integrations/README.md entry, error handling, and rate limiting are complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100